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分鐘打印打印所有三個
發生 只有喜的一個什麼,你好,再見打印(可能隨機,肯定不是按順序)
請幫幫忙, 感謝很多提前:)