123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- import json
- import os
- import time
- import uuid
- import schedule
- from loguru import logger
- from carry_video.carry_video import CarryViode
- from common.redis import get_carry_data
- ENV = os.getenv('ENV', 'dev')
- NAME = os.getenv('NAME')
- REDIS_NAME = os.getenv('REDIS_NAME')
- CACHE_DIR = '/app/cache/' if ENV == 'prod' else os.path.expanduser('~/Downloads/')
- def video_task_start():
- data = get_carry_data(REDIS_NAME)
- if not data:
- return
- try:
- logger.info(f"[+] {NAME}任务开始,数据为{data}")
- uid = str(uuid.uuid4())
- file_path = os.path.join(CACHE_DIR, uid)
- carry_video = CarryViode()
- mark = carry_video.main(json.loads(data), REDIS_NAME, file_path)
- print(f"返回用户名: {mark}")
- logger.info(f"[+] {NAME}处理一条成功")
- for filename in os.listdir(CACHE_DIR):
- # 检查文件名是否包含关键字
- if uid in filename:
- file_path = os.path.join(CACHE_DIR, filename)
- try:
- # 删除文件
- os.remove(file_path)
- logger.info(f"已删除文件: {file_path}")
- except Exception as e:
- logger.error(f"删除文件时出错: {file_path}, 错误: {e}")
- except Exception as e:
- logger.error(f"[+] {data}处理失败,失败信息{e}")
- def schedule_tasks():
- schedule.every(7).minutes.do(video_task_start)
- if __name__ == '__main__':
- schedule_tasks() # 调用任务调度函数
- while True:
- schedule.run_pending()
- time.sleep(1) # 每秒钟检查一次
- # video_task_start()
|