[英]Celery periodic task not working
我試圖跟隨芹菜文檔學習django。 這是我的項目結構:
├── hiren
│ ├── celery_app.py
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── manage.py
├── reminder
│ ├── admin.py
│ ├── __init__.py
│ ├── migrations
│ ├── models.py
│ ├── serializers.py
│ |── task.py
│ |── tests.py
│ |── views.py
這是我的settings.py文件:
BROKER_URL = 'redis://localhost:6379/4'
CELERYBEAT_SCHEDULE = {
'run-every-5-seconds': {
'task': 'reminder.task.run',
'schedule': timedelta(seconds=5),
'args': (16, 16)
},
}
和提醒/ task.py文件:
def run():
print('hello')
當我運行celery -A hiren beat -l debug
命令時,在terminal中沒有看到“ hello”文本。 我想念什么?
要從任何可調用對象創建任務,您需要使用task()
裝飾器。 這將為run()
創建一個celery任務。
提醒/task.py:
from celery import Celery
app = Celery('tasks', broker='redis://localhost')
@app.task
def run():
print('hello')
Celery庫必須在使用前實例化,此實例稱為應用程序(或簡稱為app
)。
如果您使用的是基於“舊”模塊的celery API,則可以這樣導入任務裝飾器:
from celery import task
@task
def run():
print('hello')
盡管這將像第一種方法一樣創建芹菜任務,但是不建議這樣做。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.