簡體   English   中英

芹菜定期任務不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM