2016-09-24 6 views
2

무엇을 오류를 내고 있습니까? 내가 설치 한 앱 또는 내 앱 중 하나에 문제가 있는지 확실하지 않습니다. 아래 예외는 Celery가 실행될 때 (예 : celery -A demo.apps.wall.tasks worker)에만 생성되며 runserver는 오류를 생성하지 않습니다. 어떤 앱에 문제가 있습니까?장고 앱이 아직로드되지 않았습니다. 셀러리 작업

Traceback (most recent call last): 
    File "/Users/user/Documents/workspace/demo-api/env/bin/celery", line 11, in <module> 
    sys.exit(main()) 
    File "/Users/user/Documents/workspace/demo-api/env/lib/python3.5/site-packages/celery/__main__.py", line 30, in main 
    main() 
    File "/Users/user/Documents/workspace/demo-api/env/lib/python3.5/site-packages/celery/bin/celery.py", line 81, in main 
    cmd.execute_from_commandline(argv) 
    File "/Users/user/Documents/workspace/demo-api/env/lib/python3.5/site-packages/celery/bin/celery.py", line 770, in execute_from_commandline 
    super(CeleryCommand, self).execute_from_commandline(argv))) 
    File "/Users/user/Documents/workspace/demo-api/env/lib/python3.5/site-packages/celery/bin/base.py", line 309, in execute_from_commandline 
    argv = self.setup_app_from_commandline(argv) 
    File "/Users/user/Documents/workspace/demo-api/env/lib/python3.5/site-packages/celery/bin/base.py", line 469, in setup_app_from_commandline 
    self.app = self.find_app(app) 
    File "/Users/user/Documents/workspace/demo-api/env/lib/python3.5/site-packages/celery/bin/base.py", line 489, in find_app 
    return find_app(app, symbol_by_name=self.symbol_by_name) 
    File "/Users/user/Documents/workspace/demo-api/env/lib/python3.5/site-packages/celery/app/utils.py", line 238, in find_app 
    sym = imp(app) 
    File "/Users/user/Documents/workspace/demo-api/env/lib/python3.5/site-packages/celery/utils/imports.py", line 101, in import_from_cwd 
    return imp(module, package=package) 
    File "/Users/user/Documents/workspace/demo-api/env/lib/python3.5/importlib/__init__.py", line 126, in import_module 
    return _bootstrap._gcd_import(name[level:], package, level) 
    File "<frozen importlib._bootstrap>", line 986, in _gcd_import 
    File "<frozen importlib._bootstrap>", line 969, in _find_and_load 
    File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked 
    File "<frozen importlib._bootstrap>", line 673, in _load_unlocked 
    File "<frozen importlib._bootstrap_external>", line 662, in exec_module 
    File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed 
    File "/Users/user/Documents/workspace/demo-api/demo/apps/Walls/tasks.py", line 14, in <module> 
    from demo.apps.Walls.redis_models import WallSchedule, WallBroadcast, UserWalls 
    File "/Users/user/Documents/workspace/demo-api/demo/apps/Walls/redis_models.py", line 12, in <module> 
    from demo.apps.memberships.models import Membership 
    File "/Users/user/Documents/workspace/demo-api/demo/apps/memberships/models.py", line 4, in <module> 
    from django.contrib.contenttypes.models import ContentType 
    File "/Users/user/Documents/workspace/demo-api/env/lib/python3.5/site-packages/django/contrib/contenttypes/models.py", line 161, in <module> 
    class ContentType(models.Model): 
    File "/Users/user/Documents/workspace/demo-api/env/lib/python3.5/site-packages/django/db/models/base.py", line 94, in __new__ 
    app_config = apps.get_containing_app_config(module) 
    File "/Users/user/Documents/workspace/demo-api/env/lib/python3.5/site-packages/django/apps/registry.py", line 239, in get_containing_app_config 
    self.check_apps_ready() 
    File "/Users/user/Documents/workspace/demo-api/env/lib/python3.5/site-packages/django/apps/registry.py", line 124, in check_apps_ready 
    raise AppRegistryNotReady("Apps aren't loaded yet.") 
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet. 

manage.py check은 정상입니다.

+0

무엇합니까처럼 셀러리 파일보기 - 당신은 내부의 장고 설정을 했습니까? 이것은 장고 자체에 문제가되지 않습니다 (이것이 manage.py 검사가 좋은 이유입니다). –

+0

@JensAstrup 셀러리 작업 파일을 1 초 게시합니다 : thanks – Prometheus

+0

어떤 장고 버전을 사용하고 있습니까? 이전 버전에서 업그레이드 했습니까? – borfast

답변

1

Ok - 셀러리 응용 프로그램 파일을 게시 한 후 필자는 내가 갖고있는 것과 비교하고 실행을 시도했습니다. 생각하다 문제점을 찾았습니다. celery -A demo.apps.wall.tasks에서 tasks.py를 호출하는 것 같습니다.

wall 모듈에 celery.py 및 tasks.py가 포함 된 경우 celery -A demo.apps.wall으로 전화해야합니다.

여기에 내가 가지고있는 디렉토리 구조, 그리고 셀러리 명령은 내가 실행

django_project 
- an_app 
- celery_tasks 
    - init.py 
    - celery_app.py (celery.py in your case) 
    - tasks.py 

내가 명령을 실행합니다 : celery worker -A celery_tasks django_project 디렉토리에서. tasks.py의 시작이 추가

+0

'셀러리 -A demo.apps.celery worker'를 호출 할 때 가져 오기 오류가 발생합니다. ImportError : 'membershiphips'라는 모듈이 없지만 celery.py는 멤버쉽을 가져 오지 않습니다. 이상합니다. 이것은 장고를 업데이트하기 전까지는 모두 작동했습니다. 뭔가가 제대로 등록되지 않았다고 생각합니다. – Prometheus

+0

전체 추적은 무엇입니까? 가져 오기를 시도하는 위치/잘못된 위치를 표시해야합니다. –

4

시도 :

import django 
django.setup() 
+0

celery.py 모듈은'django.setup() '을 호출하면 안됩니다. 작업자가 시작할 때 "django fixups"에 의해 처리됩니다. – Prometheus

+1

Celery 4 및 Django 1.10으로 업그레이드 한 후이 작업을 사용하여 다시 작업 할 수있었습니다. – acidjunk

+0

이것은 나를 위해 작동하지 않았다. 이것은 단지'RuntimeError : populate()가 재진입이 아닌 에러 ' – Cerin

관련 문제