我遵循指令过程安装和设置芹菜,现在我试图执行我的任务。我的项目树看起来像这样:
bin
draft1--
|
-------draft1 ----
|
--------celery.py
--------tasks.py
--------views.py
-------manage.py
-------templates
include
lib
这是我的代码:
settings.py
CELERY_BROKER_URL = 'amqp://guest:guest@localhost:5672//'
芹菜.py
import os
from celery import Celery
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'app.settings')
app = Celery('app')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()
tasks.py
from celery import shared_task
@shared_task
def print_this():
print('ONE MINUTE')
app.views
print_this.delay()
因此,我的芹菜功能不起作用,它不会执行打印语句。我要做的是每分钟执行该功能。知道问题是什么?
我认为您需要在开始实验之前阅读更多。芹菜是一个分布式任务队列,基本上意味着它会轮询队列以查看是否需要运行任何任务。如果有的话,它将运行任务。
关于您的设置,您似乎有一个任务跑步者,但没有跑步者需要进行轮询以检查是否有任何任务的队列。配置CELERY_BROKER_URL
是关于该队列的。我建议您首先阅读"芹菜的介绍文档"。特别是"我需要什么?"部分。
注意事项后,您找出队列零件
另外,我不确定您如何运行并提供Django应用程序,但是芹菜需要单独的过程。对于那部分,您需要浏览"与芹菜的第一步"。