我正在使用django的官方芹菜项目,但是它不能在我的机器上工作。
我已经安装了所有必要的模块,并使用在链接中给出的例子:示例Django项目使用芹菜。
我已经搜索了相同的错误,并使用了一些解决方案,但没有解决方案修复我的问题。当我使用命令: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?
芹菜不支持Windows。
但是你可以使用eventlet在Win上运行它,正如这里所描述的
同时,确保你已经在本地安装了RabbitMQ,并且它运行在5672端口。此外,您需要在settings.py
中为amqp服务器指定凭据从你的指南
设置文件假设rabbitmq-server在本地主机上使用默认端口运行。
也可以将amqp server作为docker容器运行。这可能是比在本地安装更容易的选择:
docker run -d -p 5672:5672 -p 15672:15672 rabbitmq:3-management