Assuming you have installed Celery with Rabbitmq, here is a simple example.
Define a task: my_app.py
from celery import Celery
app = Celery('tasks', backend='amqp', broker='amqp://')
@app.task
def add(x, y):
return x + y
Start a worker:
celery worker -l info -A my_app
Start flower
flower -A my_app
Add a task to queue via command line
curl -X POST -d '{"args":[1,2]}' http://localhost:5555/api/task/async-apply/my_app.add
or via requests
import requests, json
api_root = 'http://localhost:5555/api'
task_api = '{}/task'.format(api_root)
args = {'args': [1, 2]}
url = '{}/async-apply/my_app.add'.format(task_api)
print(url)
resp = requests.post(url, data=json.dumps(args))
reply = resp.json()
reply