转移
This commit is contained in:
		
							
								
								
									
										61
									
								
								configs/config.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								configs/config.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,61 @@
 | 
			
		||||
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()
 | 
			
		||||
		Reference in New Issue
	
	Block a user