Я пользуюсь сельдереем и сельдереем, чтобы запустить график работы на год.И я запускаю celery и celery-beat как демон.
Я использую python3.6 & django2
Недавно я добавил "django-impersonate", который позволяет администраторам входить в систему под другим аккаунтом..
"Джанго-подражатель" теперь работает нормально.Тем не менее, все мои задачи сельдерея имеют ошибку.
Traceback (most recent call last):
File "/opt/python3/lib/python3.4/site-packages/celery/app/trace.py", > line 374, in trace_task
R = retval = fun(*args, **kwargs)
File "/opt/python3/lib/python3.4/site-packages/celery/app/trace.py", line 629, in __protected_call__
return self.run(*args, **kwargs)
File "/opt/project/tracker/tasks.py", line 591, in commission
from tracker.models import TrueConversion
File "/opt/project/tracker/models.py", line 4, in <module>
from panel import models as panel_models
File "/opt/project/panel/models.py", line 5, in <module>
from django.contrib.auth.models import User
File "/opt/python3/lib/python3.4/site-packages/django/contrib/auth/models.py", line 2, in <module>
from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
File "/opt/python3/lib/python3.4/site-packages/django/contrib/auth/base_user.py", line 47, in <module>
class AbstractBaseUser(models.Model):
File "/opt/python3/lib/python3.4/site-packages/django/db/models/base.py", line 100, in __new__
app_config = apps.get_containing_app_config(module)
File "/opt/python3/lib/python3.4/site-packages/django/apps/registry.py", line 244, in get_containing_app_config
self.check_apps_ready()
File "/opt/python3/lib/python3.4/site-packages/django/apps/registry.py", line 127, in check_apps_ready
raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
Я пытался обновить оба плагина, он все еще имеет ту же ошибку.
Однако, когда я запускаю задачу сельдерея непосредственноскрипт, он работает нормально!
celery --app=project.celeryconf:app worker --beat
Вот мой файл конфигурации сельдерея
import os
from celery import Celery
os.environ['DJANGO_SETTINGS_MODULE'] = 'project.settings'
app = Celery('project')
app.config_from_object('django.conf:settings')
app.autodiscover_tasks()
from tracker import tasks
app.conf.beat_schedule = {
'analysis-add-every-1-minutes': {
'task': 'tracker.tasks.analysis',
'schedule': 60.0,
},
......
other task
......
}
app.conf.timezone = 'UTC'
CELERY_SEND_TASK_SENT_EVENT = True
Есть ли люди, использующие эти два плагина?У вас есть такая же проблема?
Как я могу решить эту проблему?Спасибо!