pq_data_handle.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import json
  2. import os
  3. import time
  4. import uuid
  5. import schedule
  6. from loguru import logger
  7. from common.feishu_utils import Feishu
  8. from common.redis import get_carry_data, in_carry_video_data
  9. from pq_video.pq_video import PqViode
  10. ENV = os.getenv('ENV', 'dev')
  11. NAME = os.getenv('NAME')
  12. REDIS_NAME = os.getenv('REDIS_NAME')
  13. CACHE_DIR = '/app/cache/' if ENV == 'prod' else os.path.expanduser('~/Downloads/')
  14. def video_task_start():
  15. logger.info(f"[+] {REDIS_NAME}任务开始redis获取")
  16. while True:
  17. data = get_carry_data(REDIS_NAME)
  18. if not data:
  19. return
  20. try:
  21. logger.info(f"[+] {NAME}任务开始,数据为{data}")
  22. carry_video = PqViode()
  23. mark = carry_video.main(json.loads(data), REDIS_NAME)
  24. print(f"返回用户名: {mark}")
  25. logger.info(f"[+] {NAME}处理一条成功")
  26. continue
  27. except Exception as e:
  28. data = json.loads(data)
  29. in_carry_video_data(REDIS_NAME, json.dumps(data, ensure_ascii=False, indent=4))
  30. text = (
  31. f"**负责人**: {data['name']}\n"
  32. f"**内容**: {data}\n"
  33. f"**失败信息**: 站内视频重发失败,等待重新处理\n"
  34. )
  35. Feishu.finish_bot(text,
  36. "https://open.feishu.cn/open-apis/bot/v2/hook/65bc5463-dee9-46d0-bc2d-ec6c49a8f3cd",
  37. "【 老内容重发通知 】")
  38. logger.error(f"[+] {data}处理失败,失败信息{e}")
  39. continue
  40. def schedule_tasks():
  41. schedule.every(6).minutes.do(video_task_start)
  42. if __name__ == '__main__':
  43. # schedule_tasks() # 调用任务调度函数
  44. # while True:
  45. # schedule.run_pending()
  46. # time.sleep(1) # 每秒钟检查一次
  47. video_task_start()