Updated README

This commit is contained in:
Ilan Steemers
2015-06-24 12:37:27 +02:00
parent c91fd0f022
commit 2237f34e13
3 changed files with 43 additions and 20 deletions
+14 -7
View File
@@ -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.