1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Anuncie Aqui
    Anuncie aqui você Também: fdantas@4each.com.br

[Python] Celery and Redis: Error: Invalid value for '-A' / '--app': Unable to load celery...

Discussão em 'Python' iniciado por Stack, Setembro 14, 2024.

  1. Stack

    Stack Membro Participativo

    Здраствуйте я пытаюсь подключить подключить асинхронные задачи через 'Celery' и брокер сообщений 'Redis'. Установил pip install celery создал файл celery.py рядом с settings.py и в нём прописал следующую конфигурацию

    import os
    from celery import Celery

    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings')

    app = Celery('project')
    app.config_from_object('django.conf:settings', namespace='CELERY')

    app.autodiscover_tasks()

    app.autodiscover_tasks(['accounts', 'shop'])


    Также, согласно рекомендациям из документации к Celery, добавил

    from .celery import app as celery_app

    all = ('celery_app',)


    Cоздал файл celery.py рядом с settings.py и в нём прописал следующую конфигурацию enter image description here

    import os
    from celery import Celery

    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings')

    app = Celery('project')
    app.config_from_object('django.conf:settings', namespace='CELERY')

    app.autodiscover_tasks()

    app.autodiscover_tasks(['accounts', 'shop'])


    Также, согласно рекомендациям из документации к Celery, добавил

    from .celery import app as celery_app

    all = ('celery_app',)


    C GitHab (https://github.com/microsoftarchive/redis/releases) скачал Redis-x64-3.0.504.zip распаковал и открыл файлы 'redis-server.exe' и 'redis-cli.exe'

    pip install redis

    и прописал в настройках проекта

    CELERY_BROKER_URL = 'redis://localhost:6379'
    CELERY_RESULT_BACKEND = 'redis://localhost:6379'
    CELERY_ACCEPT_CONTENT = ['application/json']
    CELERY_TASK_SERIALIZER = 'json'
    CELERY_RESULT_SERIALIZER = 'json'


    Далее в терминале: py manage.py runserver И ввёл: celery -A project worker -l INFO --pool=solo

    Но терминал выводит ошибку:

    Usage: celery [OPTIONS] COMMAND [ARGS]
    Try 'celery --help' for help.

    Error: Invalid value for '-A' / '--app':
    Unable to load celery application.
    Module 'project' has no attribute 'celery'


    Есть знатоки которые сталкивались с подобным и как исправить ошибку?

    Перепробовал менять параметры в файлах, но ошибка так и не уходит. Сижу над проблемой уже который час и ничего в голову не лезет.

    Continue reading...

Compartilhe esta Página