Search code examples
pythonrabbitmqtaskceleryamqp

Why isn't a celery backend pointing to an ip that's not local host not working?


from celery import Celery

app = Celery('tasks', backend='amqp://[email protected]', broker='amqp://[email protected]//')


@app.task()
def add(x, y):
    return x + y

I am successfully able to send celery tasks but when I try to get the results of the task it doesn't send them back. I think this is caused by the backend ip being set to an external ip and celery doesn't respect that.

- ** ---------- .> transport:   amqp://guest:**@192.168.99.100:5672//
- ** ---------- .> results:     amqp://

Above is the output when I run 'Celery -A workers.tasks worker --loglevel=debug'


Solution

  • I don't know exactly why this worked but it did

    Run the command with the --pool=threads/solo switch

    Celery -A proj.tasks worker -l info --pool=threads -n w1