123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- from common import Feishu, Material, Common
- from common.sql_help import sqlHelp
- from video_agc.agc_video_method import AgcVidoe
- import concurrent.futures
- import schedule
- import time
- # 记录今天已经返回的用户名
- returned_usernames_today = []
- def video_start(user_data):
- global returned_usernames_today
- user_data_mark = user_data["mark"]
- # 开始准备执行生成视频脚本
- if user_data_mark is not None and user_data_mark in returned_usernames_today:
- Common.logger("video").info(f"视频脚本参数中的用户名 {user_data_mark} 今天已经返回过,不再启动线程。今天已经返回的用户名:{returned_usernames_today}")
- print(f"视频脚本参数中的用户名 {user_data_mark} 今天已经返回过,不再启动线程。")
- return # 如果返回了某个用户名,并且今天已经返回过,则不启动线程
- else:
- print(f"视频脚本参数{user_data}")
- mark = AgcVidoe.video_stitching(user_data)
- print(f"返回用户名{mark}")
- if mark:
- Common.logger("video").info(f"返回用户名{mark}")
- returned_usernames_today.append(user_data_mark)
- name_list = Material.feishu_list()
- video_start(name_list[4])
- # def job_feishu_bot():
- # name_list = Material.feishu_name()
- # count_list = sqlHelp.get_count_list(name_list)
- # Feishu.bot('recommend', 'AGC视频', f'{"".join(count_list)}', 'all', '所有人')
- # print("机器人通知完成")
- #
- # def clear_returned_usernames():
- # returned_usernames_today.clear()
- # print("returned_usernames_today 已清空")
- #
- # # 定义定时任务
- # def video_task():
- # print("开始执行生成视频脚.")
- # data = Material.feishu_list()
- # # 创建一个线程池
- # with concurrent.futures.ThreadPoolExecutor() as executor:
- # futures = [executor.submit(video_start, user_data) for user_data in data]
- # # 等待所有任务执行完成
- # for future in concurrent.futures.as_completed(futures):
- # # 获取每个任务的执行结果
- # result = future.result()
- # print("处理结果:", result)
- # print("执行生成视频脚结束")
- #
- # # 每天0点10清空集合
- # schedule.every().day.at("00:10").do(clear_returned_usernames)
- #
- # #每10分钟执行次脚本
- # schedule.every(10).minutes.do(video_task)
- #
- #
- #
- #
- # # 每天下午1:30执行任务
- # schedule.every().day.at("15:00").do(job_feishu_bot)
- #
- # while True:
- # schedule.run_pending()
- # time.sleep(1)
- #
- # # list = Material.feishu_list()
- # # AgcVidoe.video_stitching(list)
- # # print(list)
- #
- #
|