Vincent Driessen
df2b2838de
Merge branch 'timeouts'
...
This fixes #12 .
2012-03-16 10:05:41 +01:00
Vincent Driessen
3c05f20d95
Flake8.
2012-02-24 11:36:33 +01:00
Vincent Driessen
844c5ed8c7
Add @slow wrapper to avoid running slow tests.
...
Use ./run_tests -f to only run the fast tests.
2012-02-24 07:39:44 +01:00
Vincent Driessen
91fff48389
Flake8.
2012-02-22 18:03:04 +01:00
Vincent Driessen
e807748ee6
Test the timing out of jobs.
...
Really looking for a way to speed up this test. It takes up a whole
second doing nothing now, really.
2012-02-22 18:01:14 +01:00
Vincent Driessen
9ac9c23412
Flake8.
2012-02-22 17:39:14 +01:00
Vincent Driessen
000849c430
Initialize jobs with timeouts.
2012-02-22 17:36:42 +01:00
Vincent Driessen
b8305a818f
Safer, and shorter, version of the death penalty.
...
This case protects against JobTimeoutExceptions being raised immediately
after the job body has been (successfully) executed. Still,
JobTimeoutExceptions pass through naturally, like any other exception,
to be handled by the default exception handler that writes failed jobs
to the failed queue.
Timeouts therefore are reported like any other exception.
2012-02-22 16:57:13 +01:00
Vincent Driessen
8a856e79ea
Initial attempt at job timeouts.
2012-02-22 16:57:11 +01:00
Vincent Driessen
f47398a754
Ditch false code size claim.
2012-02-22 10:52:39 +01:00
Vincent Driessen
fb587297f6
Requeue should not error when called on a deleted job ID.
2012-02-15 23:09:40 +01:00
Vincent Driessen
7ef3b5ade8
Cleanup job hashes for jobs without result, too.
2012-02-15 22:35:45 +01:00
Vincent Driessen
f07d28db86
Organize test fixtures into a separate file.
2012-02-15 21:55:06 +01:00
Vincent Driessen
5717a0ba15
Rename Job.for_call() -> Job.create().
...
This fixes #34 .
2012-02-15 17:01:10 +01:00
Vincent Driessen
7e0b843d06
Implement requeue() method on FailedQueue.
2012-02-15 16:59:27 +01:00
Vincent Driessen
8e85c7eee3
Put Job directly in the top-level `rq` module.
2012-02-15 15:54:02 +01:00
Vincent Driessen
240d2d941d
Extracted method.
...
This makes the act of moving failed jobs to the failed queue
responsibility of the FailedQueue itself, not of the Worker.
This fixes #32 .
2012-02-15 15:32:24 +01:00
Vincent Driessen
d64ad225eb
Make FailedQueue a full subclass of Queue.
...
We will add special methods on it in the future.
This fixes #33 .
2012-02-15 15:30:31 +01:00
Vincent Driessen
6f05e03293
Clean up some of the dummy jobs used for testing.
...
Also, add a random_failure test.
2012-02-15 14:18:40 +01:00
Vincent Driessen
f62e295454
Ignore autoenv file.
2012-02-15 13:15:57 +01:00
Vincent Driessen
06ce9622ea
Add compact() method on Queues, to remove dead messages.
2012-02-14 22:55:51 +01:00
Vincent Driessen
80a615a61c
Flake8 style fixes.
2012-02-14 22:55:39 +01:00
Vincent Driessen
70cbf00890
Refactor out an exists() and a for_key() method.
2012-02-14 22:52:44 +01:00
Vincent Driessen
c49e564d3c
Don't break the API when jobs get deleted.
2012-02-14 20:12:26 +01:00
Vincent Driessen
bd08f24f15
Cosmetic changes to the command line output.
2012-02-14 17:53:28 +01:00
Vincent Driessen
e4055ca42f
Allow queues to be emptied.
2012-02-14 17:53:09 +01:00
Vincent Driessen
9e33e1a08f
Implement a cancel() method on jobs.
...
This fixes #29 .
2012-02-13 17:32:33 +01:00
Vincent Driessen
53f55ba986
Flake8 style fixes in the test suite.
2012-02-13 17:32:16 +01:00
Vincent Driessen
0a0d9d1ceb
Flake8 style fixes.
2012-02-13 17:05:32 +01:00
Vincent Driessen
1a8b80604d
Minor refactoring to make the to-failed queue code a bit more readable.
2012-02-13 16:51:47 +01:00
Vincent Driessen
11c7dbb376
Consistently renamed "failure" -> "failed" queue.
...
Fixes #28 .
2012-02-13 16:46:39 +01:00
Vincent Driessen
9f5b1545b6
Fix: store the job result in the correct key.
...
And expire job hash in Redis after 500 seconds (by default).
Fixes #27 .
2012-02-13 16:44:38 +01:00
Vincent Driessen
7bda1ca969
Encapsulate the result property (it should not directly be set).
2012-02-13 16:43:27 +01:00
Vincent Driessen
6266f68310
Style fixes (flake8).
2012-02-13 14:01:15 +01:00
Vincent Driessen
10c48e1dbd
Merge branch 'use-cpickle'
2012-02-13 14:00:32 +01:00
Vincent Driessen
8da204f74a
Always use cPickle, never 'regular' pickle.
...
This fixes #18 .
2012-02-13 13:59:24 +01:00
Vincent Driessen
9318825429
Abstract away from the concrete pickle implementation.
...
Choose cPickle, if available, for best performance.
2012-02-13 13:59:24 +01:00
Vincent Driessen
c4553f2a22
Merge branch 'rewrite-data-model'
2012-02-13 13:58:54 +01:00
Vincent Driessen
abc66171eb
Simplify the count_words_at_url example.
...
The long implementation derived attention a bit from the actual point of
enqueuing here.
2012-02-13 13:57:36 +01:00
Vincent Driessen
39f106cdb3
Have the test suite find an empty Redis database.
...
Since the test suite `flushdb()`'s after running each test, we should
make sure the database is empty before we even start running tests.
This patch will make sure to never destroy any local production data
inside the running Redis instance.
This fixes #25 .
2012-02-13 09:08:33 +01:00
Vincent Driessen
90a458ca8e
Add more colorful terminal output.
...
For better visual parsability.
2012-02-10 18:33:11 +01:00
Vincent Driessen
63ef198fd6
Improve work generator.
2012-02-10 18:32:59 +01:00
Vincent Driessen
791f8169f5
Remove dead code.
2012-02-10 17:52:32 +01:00
Vincent Driessen
e05acfedce
Fix putting jobs on the failure queue when they fail.
2012-02-10 17:19:30 +01:00
Vincent Driessen
7c903e45ef
Simplify the persistence of jobs.
...
Fixes #23 and #24 .
2012-02-10 17:18:51 +01:00
Vincent Driessen
bffe6cbbde
Encapsulate internal function call representation.
...
This means it's not allowed anymore to directly set func, args, and
kwargs. Instead, use the for_call() constructor.
2012-02-10 17:15:16 +01:00
Vincent Driessen
370399f8f7
CHECKPOINT: dequeue_any now returns the queue that was popped from.
2012-02-08 17:55:38 +01:00
Vincent Driessen
f516f8df2e
CHECKPOINT: Handle failing and unreadable jobs.
...
Failing (or unreadable) jobs are correctly put on the failure queue by
the worker now.
2012-02-08 15:18:27 +01:00
Vincent Driessen
b1650cb9b9
CHECKPOINT: Second part of the big refactoring.
...
Jobs are now stored in separate keys, and only job IDs are put on Redis
queues. Much of the code has been hit by this change, but it is for the
good.
No really.
2012-02-08 14:18:17 +01:00
Vincent Driessen
65105b44c3
CHECKPOINT: Initial part of the big refactor.
2012-02-08 00:40:43 +01:00