Files
reverse_image_search_gpu/configs/config.py
2024-11-04 05:20:42 +08:00

62 lines
1.9 KiB
Python

import os
import json
import time
from apscheduler.schedulers.background import BackgroundScheduler
# 以 .env 文件中的环境变量为准, 检查是否存在 .env 文件, 没有则创建
if not os.path.exists('.env'):
print('请输入环境变量参数, 将会写入 .env 文件中')
OSS_HOST = input('OSS_HOST: ')
MYSQL_HOST = input('MYSQL_HOST: ')
MILVUS_HOST = input('MILVUS_HOST: ')
with open('.env', 'w') as f:
f.write(f'OSS_HOST={OSS_HOST}\n')
f.write(f'MYSQL_HOST={MYSQL_HOST}\n')
f.write(f'MILVUS_HOST={MILVUS_HOST}\n')
# 读取 .env 文件中的环境变量
with open('.env', 'r') as f:
env = f.readlines()
env = list(filter(lambda x: not x.startswith('#') and not x.startswith('\n') and len(x.split('=')) == 2, env))
env = list(map(lambda x: x.replace('\n', '').split('='), env))
env = {k: v for k, v in env}
print(json.dumps(env, indent=4, ensure_ascii=False))
OSS_HOST = env.get('OSS_HOST')
MYSQL_HOST = env.get('MYSQL_HOST')
MILVUS_HOST = env.get('MILVUS_HOST')
# 创建上传图片的临时目录
UPLOAD_PATH = '/tmp/search-images'
if not os.path.exists(UPLOAD_PATH):
os.makedirs(UPLOAD_PATH)
# 创建压缩图片的临时目录
IMAGES_PATH = '/tmp/images'
if not os.path.exists(IMAGES_PATH):
os.makedirs(IMAGES_PATH)
# 创建sqlite3数据库目录
SQLITE3_PATH = '/tmp/sqlite3'
if not os.path.exists(SQLITE3_PATH):
os.makedirs(SQLITE3_PATH)
def clear_images():
print('开始清理创建时间大于30分钟的图片缓存')
for file in os.listdir(IMAGES_PATH):
if os.path.getmtime(os.path.join(IMAGES_PATH, file)) < time.time() - 30 * 60:
print('清理图片缓存:', file)
os.remove(os.path.join(IMAGES_PATH, file))
# 构建一个定时任务每30分钟清理一次图片缓存
scheduler = BackgroundScheduler()
scheduler.add_job(clear_images, 'interval', minutes=30)
scheduler.start()