亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

重新加載芹菜節拍配置

重新加載芹菜節拍配置

胡說叔叔 2021-12-21 16:27:00
我正在使用celery和celery-beat不使用Django,我有一個任務需要celery-beat在運行時修改計劃?,F在我有以下代碼(名為 的模塊celery_tasks):# __init__.pyfrom .celery import app as celery_app__all__ = ['celery_app']#celery.pyfrom celery import Celeryimport configcelery_config = config.get_celery_config()app = Celery(    __name__,    include=[        'celery_tasks.tasks',    ],)app.conf.update(celery_config)# tasks.pyfrom celery_tasks import celery_appfrom celery import shared_task@shared_taskdef start_game():    celery_app.conf.beat_schedule = {        'process_round': {            'task': 'celery_tasks.tasks.process_round',            'schedule': 5,        },    }我從celery以下命令開始:celery worker -A celery_tasks -E -l info --beatstart_game正常執行和存在,但beatprocess_round任務從不運行。如何強制重新加載節拍計劃(重新啟動所有工人似乎不是一個好主意)?
查看完整描述

2 回答

?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

啟動 celerybeat 進程時普通 celery 后端的問題。是否會創建一個配置文件并將所有任務和計劃寫入該文件,


以便它不能動態更改您可以使用該包, celerybeat-sqlalchemy-scheduler以便您可以編輯 DB 本身的計劃,以便 celerybeat 將從 DB 本身獲取新計劃

還有另一個celery-redbeat使用 redis-server 作為后端的包

你可以參考這


查看完整回答
反對 回復 2021-12-21
?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

使用 schedule config 似乎也是個壞主意。如果最初 process_round 任務將處于活動狀態并檢查游戲是否未開始,那么什么都不做。


查看完整回答
反對 回復 2021-12-21
  • 2 回答
  • 0 關注
  • 125 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號