芹菜任务不起作用

时间:2016-01-19 11:03:40

标签: python django celery

Celery docs说Celery 3.1可以在开箱即用的情况下使用django。但任务不起作用。我有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"

CONFIGS:

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'),
)

项目/ celery.py     来自 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 -A project worker --loglevel=INFO

但没有任何事情没有发生。

1 个答案:

答案 0 :(得分:1)

你应该使用芹菜节拍来执行周期性任务。

celery -A project worker --loglevel=INFO

启动工作人员,实际工作。

celery -A proj beat

启动节拍服务,要求工作完成工作。