Pra*_*kar 5 django amqp celery cloudamqp flower
由于 Celery 文档建议使用 Flower 进行监控,我试图让它与托管的 RabbitMQ 提供程序 (CloudAMQP) 一起使用
celery flower --broker=amqp://username:password@lemur.cloudamqp.com/vhost --broker_api=https://lemur.cloudamqp.com/api/ --basic_auth=username:password
Run Code Online (Sandbox Code Playgroud)
我可以在 CloudAMQP 管理控制台中看到如下所示的 500 内部服务器错误,这似乎表明密码错误,而我却没有。
The server encountered an error while processing this request:
{error,function_clause,
[{rabbit_auth_backend_internal,check_password,
[<<"password">>,
<<>>]},
{rabbit_auth_backend_internal,internal_check_user_login,2},
{rabbit_access_control,'-check_user_login/2-fun-0-',4},
{lists,foldl,3},
{rabbit_mgmt_util,is_authorized,4},
{webmachine_resource,resource_call,3},
{webmachine_resource,do,3},
{webmachine_decision_core,resource_call,1}]}
Run Code Online (Sandbox Code Playgroud)
那么如何使用 cloudamqp 监控 celery 呢?
有没有更好的解决方案(监控/任务队列)?
设置broker 和broker_api 命令行参数。--broker_api 标志应该是 RabbitMQ HTTP API 的 URL,代理 API 端口应该是 443。
--broker_api=https://username:password@hostname:443/api/vhost
--broker=amqp://username:password@hostname:5671/vhost?ssl=true
Run Code Online (Sandbox Code Playgroud)