1452 Commits (e6e5703f28811d2136b88462664c54f747179549)
 

Author SHA1 Message Date
Vincent Driessen 15c4efd2e1 Generate less intensive work. 13 years ago
Vincent Driessen a905961f94 Add some sample scripts. 13 years ago
Vincent Driessen a029e5437b Add beginnings of a rqworker script. 13 years ago
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