簡體   English   中英

Celery任務未在Django數據庫中注冊

[英]Celery task not registering in django database

我正在處理celery beat任務,並且任務運行正常(按計划的時間正常運行),但是我無法在管理頁面中看到該任務,並且PostgreSQL數據庫中所有與celery相關的表都是空的(例如django_celery_beat_periodictask)

我在這里想念的是什么??

需求

Django==1.9.7
python==3.5
celery==4.1.0
django-celery-beat==1.0.1

項目樹

advocate
       |
       drive
           |
           -- celery.py
           -- tasks.py 

celery.py

from __future__ import absolute_import, unicode_literals
from celery import Celery
from celery.schedules import crontab
import os


os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'advocate.settings')
# app = Celery('drive', broker='redis://localhost:6379/0')
app = Celery('drive', broker='redis://localhost:6379/0', include=['drive.tasks'])
app.control.purge()
app.config_from_object('django.conf:settings', namespace='CELERY')
# crontab for test
app.conf.beat_schedule = {
    'Emails-Every-Mon_Wed_Fri': {
        'task': 'drive.tasks.weekly_task',
        'schedule': crontab(minute='*/5'),
    },
}

app.conf.timezone = 'UTC'

# Optional configuration, see the application user guide.
app.conf.update(
    result_expires=3600,
)
app.autodiscover_tasks()

if __name__ == '__main__':
    app.start()

使用的運行命令

芹菜-A驅動器工人-B --loglevel = debug -S django

您需要在proj / proj / __ init__.py模塊中導入應用程序。 這樣可以確保在Django啟動時加載應用。

__init__.py

from __future__ import absolute_import, unicode_literals
from .celery import app as celery_app

__all__ = ['celery_app']

文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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