Ask Solem 5e9d7bf3a4 Cleaned up celery.task.http some more, e.g. it's now easier to override the vor 15 Jahren
..
README.rst 5e9d7bf3a4 Cleaned up celery.task.http some more, e.g. it's now easier to override the vor 15 Jahren
__init__.py a76681f137 Added example: examples/httpexample with a simple http task. vor 15 Jahren
manage.py a76681f137 Added example: examples/httpexample with a simple http task. vor 15 Jahren
settings.py a76681f137 Added example: examples/httpexample with a simple http task. vor 15 Jahren
urls.py a76681f137 Added example: examples/httpexample with a simple http task. vor 15 Jahren
views.py a76681f137 Added example: examples/httpexample with a simple http task. vor 15 Jahren

README.rst

This example is a simple Django HTTP service exposing a single task
multiplying two numbers:

The multiply http callback task is in ``views.py``, mapped to an url using
``urls.py``.

There's no models, so to start it do::

$ python manage.py runserver

To execute the task you could use curl::

$ curl http://localhost:8000/multiply?x=10&y=10

which then gives the expected JSON response::

{"status": "success": "retval": 100}


To execute this http callback task asynchronously you could fire up
a python shell with a properly configured celery and do:

>>> from celery.task.http import URL
>>> res = URL("http://localhost:8000/multiply").get_async(x=10, y=10)
>>> res.wait()
100


That's all!