芹菜任务不起作用

编程入门 行业动态 更新时间:2024-10-15 00:23:31
本文介绍了芹菜任务不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

Celery文档说Celery 3.1可以直接使用django.但是任务不起作用.我有task.py:

Celery docs say that Celery 3.1 can work with django out of box. But tasks not working. I have tasks.py:

from celery import task from datetime import timedelta @task.periodic_task(run_every=timedelta(seconds=20), ignore_result=True) def disable_not_confirmed_users(): print "start"

配置:

from kombu import Exchange, Queue CELERY_SEND_TASK_ERROR_EMAILS = True BROKER_URL = 'amqp://guest@localhost//' CELERY_DEFAULT_QUEUE = 'project-queue' CELERY_DEFAULT_EXCHANGE = 'project-queue' CELERY_DEFAULT_ROUTING_KEY = 'project-queue' CELERY_QUEUES = ( Queue('project-queue', Exchange('project-queue'), routing_key='project-queue'), )

project/celery.py从未来导入absolute_import

project/celery.py from future import absolute_import

import os from celery import Celery # set the default Django settings module for the 'celery' program. os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings') from django.conf import settings app = Celery('project') app.config_from_object('django.conf:settings') app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)

运行celery: celery-项目工作人员--loglevel = INFO

但是什么也没发生.

推荐答案

您应该使用celery beat来执行定期任务.

you should use celery beat to run periodic task.

celery -A project worker --loglevel=INFO

启动工作程序,该工作程序实际上会工作.

starts the worker, which does the actually work.

celery -A proj beat

启动节拍服务,要求工作完成这项工作.

starts the beat service, which asks the work to do the job.

更多推荐

芹菜任务不起作用

本文发布于:2023-11-24 13:16:55,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1625352.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:芹菜   不起作用

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!