芹菜节没有定期助教

2024-10-01 11:40:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我有任务

class BasecrmSync(PeriodicTask):
run_every = schedules.crontab(minute='*/1')

def run(self, **kwargs):
    bc = basecrm.Client(access_token=settings.BASECRM_AUTH_TOKEN)
    sync = basecrm.Sync(client=bc, device_uuid=settings.BASECRM_DEVICE_UUID)
    sync.fetch(synchronize)

和西芹配置与数据库代理

^{pr2}$

我跑

celery -A renuval_api worker -B --loglevel=debug

但它不运行任务。。。 我也试过跑过去

python3 manage.py celery worker --loglevel=DEBUG  -E -B -c 1 --settings=renuval_api.settings.local

但它使用amqp传输,我不明白为什么。在


Tags: runapisettingssyncclassceleryworkerbc
1条回答
网友
1楼 · 发布于 2024-10-01 11:40:57

我为beat函数本身运行一个单独的进程。否则,我永远不会让定期任务启动。当然,我可能完全错了,但它对我有用,而且已经有一段时间了。在

例如,我让celery worker在一个进程中运行其应用程序:

celery worker  app=celeryapp:app -l info  logfile="/var/log/celery/worker.log"

我把节拍指向了同一个应用程序在它自己的过程中:

^{pr2}$

他们被指向相同的应用程序和设置,并击败了工作人员拿起和做的任务。这个应用程序和我的Django应用程序在同一个代码树中,但是进程没有在Django中运行。或许您可以运行类似于:

python3 manage.py celery beat  loglevel=DEBUG  -E -B -c 1  settings=renuval_api.settings.local

我希望这有帮助。在

相关问题 更多 >