我指的是Django Celery文档。
正如文件所说celery.py
,我在我的创建。proj/proj
然后包括__init__.py
芹菜.py
from __future__ import absolute_import
import os
from celery import Celery
from django.conf import settings
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'proj.settings')
app = Celery('proj')
app.conf.update(
CELERY_RESULT_BACKEND='djcelery.backends.database:DatabaseBackend',
)
app.config_from_object('django.conf:settings')
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
__init__.py
from __future__ import absolute_import
from .celery import app as celery_app
我安装pip install django-celery
,然后迁移python manage.py migrate djcelery
它在我的数据库中创建了一些表。
任务.py
from __future__ import absolute_import
from celery import shared_task
import requests
import json
@shared_task
def post_notification(data,url):
headers = {'content-type': 'application/json'}
requests.post(url, data=json.dumps(data), headers=headers)
在那之后,我把我的任务称为我的观点
task = post_notification.delay(data,url)
print task.id #it prints an id
print task.status # prints PENDING
但是没有任何东西登录到我的任何表中。
我已经阅读了关于 SO、Thread1 、Thread2以及更多关于这些线程的线程,但没有任何反应。
它为我提供了任务的 ID 和状态,但我如何将任务保存在数据库中?通常它应该登录celery_taskmeta
,但那里什么都没有。
虽然任务得到执行,但我也想将任务保存在数据库中。我该怎么做?有什么我想念的吗?