From 2237f34e131320a991ac428b89949a7fefb08589 Mon Sep 17 00:00:00 2001 From: Ilan Steemers Date: Wed, 24 Jun 2015 12:37:27 +0200 Subject: [PATCH] Updated README --- .gitignore | 3 ++- README.md | 21 ++++++++++++++------- README.rst | 39 +++++++++++++++++++++++++++------------ 3 files changed, 43 insertions(+), 20 deletions(-) diff --git a/.gitignore b/.gitignore index 5acf51f..b1a9461 100644 --- a/.gitignore +++ b/.gitignore @@ -59,4 +59,5 @@ target/ dev-requirements.txt manage.py testq -db.sqlite3 \ No newline at end of file +db.sqlite3 +.venv \ No newline at end of file diff --git a/README.md b/README.md index 2217bee..a212f91 100644 --- a/README.md +++ b/README.md @@ -9,11 +9,25 @@ Main focus will be put on creating tests now. ### Architecture ![Django Q schema](http://i.imgur.com/wTIeg2T.png) +### Usage +Schedule the asynchronous exectution of a function by calling `async` from within your Django project. ```python async(func,*args,hook=None,**kwargs) ``` +### Management commands + +#### `qcluster` +Start a cluster with `./manage.py qcluster` + +####`qmonitor` +You can monitor basic information about all the connected clusters by running `./manage.py qmonitor` + +###Admin integration +Django Q registers itself with the admin page to show failed and succesful tasks. +From there task results can be read or deleted. If neccesary, failed tasks can be reintroduced to the queue. + ### Signed Tasks Tasks are first pickled to Json and then signed using Django's own signing module before being sent to a Redis list. This ensures that task packages on the Redis server can only be excuted and read by clusters and django servers who share the same secret key. @@ -45,12 +59,5 @@ In case of a stop signal, the sentinel will halt the pusher and instruct the wor Packages can be assigned a hook function, upon completion of the package this function will be called with the Task object as the first argument. -### Management command -Start the cluster with `./manage.py qcluster` - -###Admin integration -Django Q registers itself with the admin page to show failed and succesful tasks. -From there task results can be read or deleted. If neccesary, failed tasks can be reintroduced to the queue. - ### Todo I'll add to this README while I'm developing the various parts. \ No newline at end of file diff --git a/README.rst b/README.rst index 4d1a4ef..3c736d5 100644 --- a/README.rst +++ b/README.rst @@ -18,10 +18,37 @@ Architecture :alt: Django Q schema Django Q schema +Usage +~~~~~ + +Schedule the asynchronous exectution of a function by calling ``async`` +from within your Django project. + .. code:: python async(func,*args,hook=None,**kwargs) +Management commands +~~~~~~~~~~~~~~~~~~~ + +``qcluster`` +^^^^^^^^^^^^ + +Start a cluster with ``./manage.py qcluster`` + +``qmonitor`` +^^^^^^^^^^^^ + +You can monitor basic information about all the connected clusters by +running ``./manage.py qmonitor`` + +Admin integration +~~~~~~~~~~~~~~~~~ + +Django Q registers itself with the admin page to show failed and +succesful tasks. From there task results can be read or deleted. If +neccesary, failed tasks can be reintroduced to the queue. + Signed Tasks ~~~~~~~~~~~~ @@ -77,18 +104,6 @@ Hooks Packages can be assigned a hook function, upon completion of the package this function will be called with the Task object as the first argument. -Management command -~~~~~~~~~~~~~~~~~~ - -Start the cluster with ``./manage.py qcluster`` - -Admin integration -~~~~~~~~~~~~~~~~~ - -Django Q registers itself with the admin page to show failed and -succesful tasks. From there task results can be read or deleted. If -neccesary, failed tasks can be reintroduced to the queue. - Todo ~~~~