import os import concurrent.futures import schedule import time import threading from common import Material from video_rewriting.video_processor import VideoProcessor MAX_BPS = 120 * 1024 * 1024 # 120MB/s MAX_WORKERS = os.cpu_count() * 2 # 线程池最大工作线程数量 READ_WRITE_CHUNK_SIZE = 1024 * 1024 # 每次读写的块大小 (1MB) SLEEP_INTERVAL = READ_WRITE_CHUNK_SIZE / MAX_BPS # 控制每次读写的延迟时间 # 全局锁,用于同步读写操作 lock = threading.Lock() def video_task_start(data): mark = VideoProcessor.main(data) print(f"返回用户名{mark}") data = Material.feishu_list() video_task_start(data[5]) # def controlled_io_operation(data): # with lock: # start_time = time.time() # time.sleep(SLEEP_INTERVAL) # end_time = time.time() # elapsed_time = end_time - start_time # if elapsed_time < SLEEP_INTERVAL: # time.sleep(SLEEP_INTERVAL - elapsed_time) # video_task_start(data) # # # # # def video_start(): # print("开始执行生成视频脚本.") # # data = Material.feishu_list() # data = data[5] # with concurrent.futures.ThreadPoolExecutor(max_workers=MAX_WORKERS) as executor: # futures = {executor.submit(controlled_io_operation, data)} # for future in concurrent.futures.as_completed(futures): # try: # future.result() # print("处理结果: 成功") # except concurrent.futures.TimeoutError: # print("任务超时,已取消.") # except Exception as e: # print("处理任务时出现异常:", e) # print("执行生成视频脚本结束.") # # # video_start() # schedule.every(6).hours.do(video_start) # while True: # schedule.run_pending() # time.sleep(1)