0
我试图实现的内容 编写一个调度程序,它使用数据库在不同的时间安排类似的任务。使用芹菜节拍在多个时间点(使用不同参数)调度任务
,因为我是用芹菜节拍相同,下面的代码片段会给一个想法
try:
reader = MongoReader()
except:
raise
try:
tasks = reader.get_scheduled_tasks()
except:
raise
celerybeat_schedule = dict()
for task in tasks:
celerybeat_schedule[task["task_id"]] =dict()
celerybeat_schedule[task["task_id"]]["task"] = task["task_name"]
celerybeat_schedule[task["task_id"]]["args"] = (task,)
celerybeat_schedule[task["task_id"]]["schedule"] = get_task_schedule(task)
app.conf.update(BROKER_URL=rabbit_mq_endpoint, CELERY_TASK_SERIALIZER='json', CELERY_ACCEPT_CONTENT=['json'], CELERYBEAT_SCHEDULE=celerybeat_schedule)
所以这些都是三个步骤 - 创建一个字典,芹菜调度是 - 从数据存储 阅读所有任务通过具有特性,TASK_NAME(将运行方法),参数的所有任务填充(数据传递给该方法),(当运行存储)时间表 - 芹菜配置
预期场景 给出的所有ENTR更新此IES运行,只是打印,具有相同的时间表来运行每5分钟,具有不同的参数指定要打印的内容相同芹菜任务名称,可以说DB有
task name , parameter , schedule
regular_print , Hi , {"minutes" : 5}
regular_print , Hello , {"minutes" : 5}
regular_print , Bye , {"minutes" : 5}
我希望,这些将每5分钟打印打印所有三个
发生 只有喜的一个什么,你好,再见打印(可能随机,肯定不是按顺序)
请帮帮忙, 感谢很多提前:)