5

Since Celery docs recommends using flower for monitoring, I am trying to get it to work with a hosted RabbitMQ provider (CloudAMQP)

celery flower --broker=amqp://username:password@lemur.cloudamqp.com/vhost --broker_api=https://lemur.cloudamqp.com/api/ --basic_auth=username:password

I can see a 500 Internal Server error as shown below in the CloudAMQP management console which seems to indicate a password error while I have none.

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}]}

So how does one monitor celery with cloudamqp?

And is there any better solution (monitoring/task queue) to this?

MatthewMartin
  • 32,326
  • 33
  • 105
  • 164
Pratik Mandrekar
  • 9,362
  • 4
  • 45
  • 65

1 Answers1

3

Set both the broker and broker_api command line arguments. The --broker_api flag should be the URL of the RabbitMQ HTTP API, broker API port should be 443.

--broker_api=https://username:password@hostname:443/api/vhost
--broker=amqp://username:password@hostname:5671/vhost?ssl=true
Lovisa Johansson
  • 9,721
  • 1
  • 16
  • 20