Vincent Driessen
d780c929c0
Change semantics of work(). Add work_burst().
...
work() will now start the worker run loop, and work_burst() now leads to
the burst-then-quit behaviour.
13 years ago
Vincent Driessen
d761dd0280
Add BSD license, copied from git-flow.
13 years ago
Vincent Driessen
a491ff248d
Add simple helper function, to avoid users to learn about the `conn`
...
stack.
This makes it easier to start using the product.
13 years ago
Vincent Driessen
0ff2984adf
Use __slots__, for minimal memory overhead.
13 years ago
Vincent Driessen
ced001cbb9
Update README with some project values.
13 years ago
Vincent Driessen
56c4445bb2
Shut up pyflakes.
13 years ago
Vincent Driessen
b5ea5f32fe
Variable renamed.
13 years ago
Vincent Driessen
8852859fc4
Improved the __repr__ and __str__ of Queues.
13 years ago
Vincent Driessen
b4c1c85276
Add equality and comparison methods.
13 years ago
Vincent Driessen
a5ea45af57
Make the dequeue methods return values consistent.
...
I merely refactored the internal calls. No external API changes have been made in this commit. In order to make the dequeueing methods consistent, each dequeue method now returns a Job instance, which is just a nice lightweight wrapper around the job tuple.
The Job class makes it easier to pass the method call info around, along with some possible meta information, like the queue the job originated from.
This fixes #7 .
13 years ago
Vincent Driessen
f492a5ae2b
Restructure some code.
...
No functional change, but leave the BLPOP'ing to the Queue, as the
queues know how to pop themselves.
13 years ago
Vincent Driessen
652ced2580
Add sources of inspiration.
13 years ago
Vincent Driessen
f15f6d7843
Fix terminology.
13 years ago
Vincent Driessen
83e29ca987
Document how to start a worker.
13 years ago
Vincent Driessen
22f3da1832
Update README (and example).
13 years ago
Vincent Driessen
1a893e60cf
Have work() return whether work has been done, or not.
...
And promote Worker to the rq namespace, so you can
from rq import Worker
13 years ago
Vincent Driessen
1c9fa66bc1
Greatly simplify the setup.
...
Jobs don't even need to be tagged. Any function can be put on queues.
13 years ago
Vincent Driessen
62b6b180f3
Also allow args and kwargs to enqueue() calls on Queue.
13 years ago
Vincent Driessen
159eba6df2
Add arg to test case.
13 years ago
Vincent Driessen
fc5097ce7a
Better test naming.
13 years ago
Vincent Driessen
196a9815d2
Add dequeue method to Queue.
13 years ago
Vincent Driessen
b5e0377eb0
Allow jobs to be declared without a default queue.
...
This makes it impossible to use delay() on them. Instead, you should
use enqueue().
13 years ago
Vincent Driessen
407f3e8b38
Add ability to put work on alternate queues.
13 years ago
Vincent Driessen
1b8da4a861
Add test for putting work on queues.
13 years ago
Vincent Driessen
8dfdd452ef
Bugfix.
...
Yeah, it's getting late.
It's my own fault.
I know.
13 years ago
Vincent Driessen
04c88577ed
Bugfix: LPOP does not support multiple queue arguments.
...
Redis' BLPOP command takes multiple queue arguments, but LPOP can only
take a single queue. Therefore, we need to loop over all queues
manually, in order, and raise an exception is no more work is available.
13 years ago
Vincent Driessen
a77c3d9104
Support quitting when all work is done (i.e. queue is empty).
13 years ago
Vincent Driessen
8dc2b15a6e
Remove empty file.
...
It is obsoleted by rq/proxy.py
13 years ago
Vincent Driessen
0459134df3
Update header style.
13 years ago
Vincent Driessen
ca99cd911a
Doc changes.
13 years ago
Vincent Driessen
98ffcd8e05
Create soft dependency on logbook.
13 years ago
Vincent Driessen
cd31f6aba9
Adapt examples so they run again.
...
Remove sync part of the example.
13 years ago
Vincent Driessen
56fc74118e
Get rid of the formal definition. We're not a lawyer agency here.
13 years ago
Vincent Driessen
227e107a82
Oops, fix some old references to current_connection.
13 years ago
Vincent Driessen
d721f0708b
Refactor the whole Redis connection stuff to be just as easy as in RDB.
13 years ago
Vincent Driessen
5c4163400e
Update README.md
13 years ago
Vincent Driessen
5be9a41f3d
Getting the facts right, here.
13 years ago
Vincent Driessen
9b51083fd2
Add example and README updates.
13 years ago
Vincent Driessen
05e83c5231
Add a very minor beginning to the test cases.
13 years ago
Vincent Driessen
518db8c24b
Add better connection management.
...
To start using RQ, push a Redis connection up its stack, like so:
from rq import push_connection
push_connection(Redis())
13 years ago
Vincent Driessen
d8d388c841
Log the results of jobs.
13 years ago
Vincent Driessen
f21b2af2b6
Make it an actual PyPI-managable Python package.
13 years ago
Vincent Driessen
c45e056786
Add some project meta stuff.
13 years ago
Vincent Driessen
5eadd5ef52
Factor out a Queue object.
...
It might be useful to add some methods to that object, later.
13 years ago
Vincent Driessen
834a79814e
Rename task -> job.
...
Just a gift from a non-mainframe guy to a mainframe guy. Love is all
about giving ;)
13 years ago
Vincent Driessen
a5a8925608
Add an actual awesome worker structure.
...
To put messages on queues, use this:
@job('normal')
def foo(x, y):
return x + y
foo.delay(4, 5)
To run workers, start any number of these:
$ python runworker.py high normal low
You can give arbitrary queue names, they are not limited to these
priority-based names. They just serve as a useful example.
13 years ago
Vincent Driessen
606f7f7cb3
Fix expire call.
13 years ago
Vincent Driessen
374c95f7a2
It ain't *that* naive ;)
13 years ago
Vincent Driessen
3aae096ac2
Made a beginning to a Python module structure to support Redis queue.
...
@henrikuiper: Go ahead and experiment with this setup ;)
13 years ago