Официальный проект celery для django не работает

Я использую официальный проект celery для django, но он не работает на моей машине.

Я установил все необходимые модули и использую пример, приведенный в ссылке: Пример Django проекта с использованием Celery.

Я уже искал ту же ошибку и использовал некоторые решения, но ни одно решение не помогло решить мою проблему. Когда я использую команду: celery -A proj worker -l INFO, я получаю следующий ответ:

--- ***** -----
-- ******* ---- Windows-10-10.0.22000-SP0 2022-05-16 14:19:39
- *** --- * ---
- ** ---------- [config]
- ** ---------- .> app:         proj:0x230fa67a6a0
- ** ---------- .> transport:   amqp://guest:**@localhost:5672//
- ** ---------- .> results:
- *** --- * --- .> concurrency: 4 (prefork)
-- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
--- ***** -----
 -------------- [queues]
                .> celery           exchange=celery(direct) key=celery


[tasks]
  . demoapp.tasks.add
  . demoapp.tasks.count_widgets
  . demoapp.tasks.mul
  . demoapp.tasks.rename_widget
  . demoapp.tasks.xsum
  . proj.celery.debug_task

[2022-05-16 14:19:40,464: INFO/SpawnPoolWorker-4] child process 7240 calling self.run()
[2022-05-16 14:19:40,481: INFO/SpawnPoolWorker-3] child process 6960 calling self.run()
[2022-05-16 14:19:40,493: INFO/SpawnPoolWorker-2] child process 10964 calling self.run()
[2022-05-16 14:19:40,516: INFO/SpawnPoolWorker-1] child process 6272 calling self.run()
[2022-05-16 14:19:41,978: ERROR/MainProcess] consumer: Cannot connect to amqp://guest:**@127.0.0.1:5672//: [WinError 10061]```

As I said I am using the source code itself, can anyone tell me how I can solve this problem?

Celery не поддерживает Windows.

Но вы можете использовать eventlet для запуска на Win, как описано здесь

Также убедитесь, что вы установили RabbitMQ локально и он запущен на порту 5672. Также необходимо указать учетные данные для сервера amqp в settings.py

От вашего гида

В файле настроек предполагается, что rabbitmq-сервер работает на localhost, используя порты по умолчанию.

Также вы можете запустить сервер amqp как контейнер docker. Это может быть проще, чем устанавливать его локально:

docker run -d -p 5672:5672 -p 15672:15672 rabbitmq:3-management
Вернуться на верх