1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- 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)
|