Flask Celery RabbitMQ多个服务器部署worker的demo
使用两台机器
生产者机器 IP: 192.168.199.133
worker机器 IP: 192.168.199.185
实际根据情况改写worker.py中的连接IP后运行
-
默认情况下5672端口只对localhost开放,更改/usr/local/etc/rabbitmq/rabbitmq-env.conf的NODE_IP_ADDRESS=0.0.0.0
-
远程情况不能通过guest用户连接到RabbitMQ
sudo ./rabbitmqctl add_user celery 123456
sudo ./rabbitmqctl add_vhost celery_vhost
sudo ./rabbitmqctl set_user_tags celery administrator
sudo ./rabbitmqctl set_permissions -p celery_vhost celery ".*" ".*" ".*"
├── app
│ ├── __init__.py
│ ├── extensions.py
│ ├── task.py
│ └── view.py
├── celery_config.py
├── flask_config.py
├── web.py
└── worker.py
worker.py放在192.168.199.185下,其他文件放在192.168.199.133下。
python web.py
celery -A worker worker --loglevel=info
curl http://127.0.0.1:5000/task1
curl http://127.0.0.1:5000/task2