job_fj.py 1.0 KB

123456789101112131415161718192021222324252627282930
  1. import os
  2. import time
  3. import threading
  4. from common import Material
  5. from video_rewriting.video_processor import VideoProcessor
  6. # 控制读写速度的参数
  7. MAX_BPS = 120 * 1024 * 1024 # 120MB/s
  8. MAX_WORKERS = os.cpu_count() * 2 # 线程池最大工作线程数量
  9. READ_WRITE_CHUNK_SIZE = 1024 * 1024 # 每次读写的块大小 (1MB)
  10. SLEEP_INTERVAL = READ_WRITE_CHUNK_SIZE / MAX_BPS # 控制每次读写的延迟时间
  11. # 全局锁,用于同步读写操作
  12. lock = threading.Lock()
  13. def video_task_start():
  14. data = Material.feishu_list()[1]
  15. """处理视频任务,返回用户名并根据结果决定延迟时间"""
  16. while True:
  17. try:
  18. print("开始执行任务")
  19. mark = VideoProcessor.main(data)
  20. print(f"返回用户名: {mark}")
  21. time.sleep(10 if mark else 120) # 根据 mark 是否为空设置延迟
  22. except Exception as e:
  23. print("处理任务时出现异常:", e)
  24. time.sleep(10)
  25. continue
  26. if __name__ == '__main__':
  27. video_task_start()