django中使用celery 任务AppRegistryNotReady: Apps aren't loaded yet.

在开发的过程中使用celery的时候遇到了下面的报错:
Traceback (most recent call last):
File “C:\Python27\lib\site-packages\billiard\process.py”, line 292, in _bootstrap
self.run()
File “C:\Python27\lib\site-packages\billiard\pool.py”, line 292, in run
self.after_fork()
File “C:\Python27\lib\site-packages\billiard\pool.py”, line 395, in after_fork
self.initializer(*self.initargs)
File “C:\Python27\lib\site-packages\celery\concurrency\prefork.py”, line 58, in process_initializer
app.loader.init_worker()
File “C:\Python27\lib\site-packages\celery\loaders\base.py”, line 128, in init_worker
self.import_default_modules()
File “C:\Python27\lib\site-packages\djcelery\loaders.py”, line 137, in import_default_modules
super(DjangoLoader, self).import_default_modules()
File “C:\Python27\lib\site-packages\celery\loaders\base.py”, line 121, in import_default_modules
tuple(maybe_list(self.app.conf.CELERY_INCLUDE))
File “C:\Python27\lib\site-packages\celery\loaders\base.py”, line 103, in import_task_module
return self.import_from_cwd(module)
File “C:\Python27\lib\site-packages\celery\loaders\base.py”, line 112, in import_from_cwd
package=package,
File “C:\Python27\lib\site-packages\celery\utils\imports.py”, line 101, in import_from_cwd
return imp(module, package=package)
File “C:\Python27\lib\site-packages\celery\loaders\base.py”, line 106, in import_module
return importlib.import_module(module, package=package)
File “C:\Python27\lib\importlib__init__.py”, line 37, in import_module
import(name)
File “E:\dbp_new\dbp\tasks.py”, line 6, in
from dbp.models import *
File “E:\dbp_new\dbp\models.py”, line 10, in
class Assets(models.Model):
File “C:\Python27\lib\site-packages\django\db\models\base.py”, line 105, in new
app_config = apps.get_containing_app_config(module)
File “C:\Python27\lib\site-packages\django\apps\registry.py”, line 237, in get_containing_app_config
self.check_apps_ready()
File “C:\Python27\lib\site-packages\django\apps\registry.py”, line 124, in check_apps_ready
raise AppRegistryNotReady(“Apps aren’t loaded yet.”)
AppRegistryNotReady: Apps aren’t loaded yet.

需要在tasks.py的开始添加,注意一定是在from之前添加这个
import django
django.setup()

具体使用参考:
https://www.cnblogs.com/znicy/p/5626040.html

你可能感兴趣的:(python)