在我的 tasks.py 文件中,我想从民意调查应用程序导入模型,但我得到django.core.exceptions.AppRegistryNotReady:启动工作线程时尚未加载应用程序
tasks.py
from __future__ import absolute_import
import sys ,os
from polls.models import User
from .celery import app
@app.task
def add_user(user):
# for user in users:
print('urra')
#user = User(user.first_name, user.last_name, user.email)
# user.save()
celery.py:
from __future__ import absolute_import, unicode_literals
from celery import Celery
import os, sys
from task import celery_config
import dotenv
from os.path import dirname, join
app = Celery('task',
broker='amqp://root:lusine_admin@localhost/task',
backend='amqp://',
include=['task.tasks'])
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "task.settings")
app.config_from_object(celery_config)
# app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
if __name__ == '__main__':
app.start()
实际上,我找不到错误轮询模块,但是从bash中我将其添加到pythonpath中,并且知道我收到了此错误。
您的错误与您的配置有关。 如果你想将芹菜和你的 django 连接起来,你必须从 django 设置中初始化芹菜配置。 在您的 celery.py 中替换此行:
app.config_from_object(celery_config)
跟
app.config_from_object('django.conf:settings', namespace='CELERY')