问题描述
我正在运行带有celery的Django应用程序,以运行应该每天运行一次的定期任务,但是问题是它每天运行两次。
我的任务继承自PeriodicTask类,并使用以下属性每天运行一次:
run_every = crontab(小时= 1,分钟= 1)
我们有两个队列:
- slow_queue
- fast_queue
在我的CELERY_ROUTES变量中,我没有将任务分配给队列。
我们还定义了两个芹菜工人,如图所示。两者都明确提到了slow_queue。
我是否需要使用CELERY_ROUTES变量将我的任务显式路由到队列,以防止其执行两次?
芹菜工人: 图片:$ {REGISTRY} / random-django-project:$ {TAGNAME}
command: celery worker -A config.celery_config -l ${LOGLEVEL} -X slow_queue --hostname=worker@%h -O fair --autoscale=12,4 privileged: true env_file: env.${ENVIRONMENT} restart: unless-stopped labels: tier: backend io.rancher.scheduler.affinity:host_label: tier=backend io.rancher.container.pull_image: always
celeryworker-slow: 图片:$ {REGISTRY} / random-django-project:$ {TAGNAME}
command: celery worker -A config.celery_config -l ${LOGLEVEL} -Q slow_queue --hostname=worker-slow@%h -O fair --autoscale=12,4 privileged: true env_file: env.${ENVIRONMENT} restart: unless-stopped labels: tier: backend io.rancher.scheduler.affinity:host_label: tier=backend io.rancher.container.pull_image: always
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)