Travis Johnson
d4b72d330d
test for skip_queue mechanics
10 years ago
Travis Johnson
6ef9177a7d
2.6 compatible set syntax
10 years ago
Travis Johnson
de72f98fbe
test for workers equality
10 years ago
Nic Cope
09cab7a90d
Allow maximum job age to be specified when cleaning up or getting expired jobs from a registry.
...
This ensures that all jobs cleaned from a started registry end up in the failed queue.
10 years ago
glaslos
8a3fd91e2e
renaming job.job_ttl to job.ttl
10 years ago
Selwin Ong
2091c601b1
Merge pull request #451 from conslo/depend-on-unsaved-job-ids
...
Depend on unsaved job ids
10 years ago
Nic Cope
8fa184b86b
Ensure the FinishedJobRegistry honors an 'infinite' result_ttl of -1
10 years ago
glaslos
55c541bc59
added job ttl to queue.enqueue()
10 years ago
Travis Johnson
b14f739dfe
no need for that save anymore
10 years ago
Travis Johnson
82729c98dc
test for id based job dependancies
10 years ago
Bradley Young
5caccaabfe
Adding optional list handling to the exc_handler option in Worker.
...
Adding command line --exception_handler option (with multiple entries allowed) to `rq worker`
Added tests for command line options.
10 years ago
Adam Wen
cd0230cae3
make job description unicode friendly
10 years ago
zhangliyong
3d49784bcc
Merge branch 'master' of github.com:nvie/rq into cli-rq-worker
10 years ago
Selwin Ong
2307bc8253
Added FinishedJobRegistry to monitor finished jobs.
10 years ago
Selwin Ong
74a9982ecb
Fixed a bug where expired jobs aren't deleted from JobStartedRegistry.
10 years ago
Selwin Ong
18c6ea64ef
Merge pull request #419 from selwin/registry-len
...
Added JobStartedRegistry.count
10 years ago
zhangliyong
f9511664c8
Make flake8 happy :)
10 years ago
zhangliyong
94e494e645
Add testcase for rq worker command
10 years ago
zhangliyong
918403e371
Update test_cli
10 years ago
Selwin Ong
202be75b21
Merge pull request #415 from foxx/feature/custom-job-ids
...
Allow job ID to be set on enqueue/enqueue_call() - fixes #412
10 years ago
Selwin Ong
c1dc30eae3
Added __len__ method to Queue.
10 years ago
Selwin Ong
fae7df5aa7
Renamed StartedJobRegistry.get_job_count to StartedJobRegistry.count for consistency.
10 years ago
Selwin Ong
41ae1ce8a7
Added a registry.get_job_count().
10 years ago
Cal Leeming
6aa2e18f88
Another unused import, oops
10 years ago
Vincent Driessen
7686785d61
Merge branch 'selwin-working-queue'
...
Conflicts:
tests/test_worker.py
10 years ago
Vincent Driessen
4b7c59d68d
Fix PEP8 complaints.
10 years ago
Selwin Ong
6d79082b62
Call move_expired_jobs_to_failed_queue before returning job_ids.
10 years ago
Selwin Ong
dc12f8aee5
Fixed random registry failures when run on slower machines.
10 years ago
Selwin Ong
9341a4a33d
Renamed WorkingQueue to StartedJobRegistry.
10 years ago
Selwin Ong
4d90cc062e
Add job to WorkingQueue before execution and remove from WorkingQueue after.
10 years ago
Selwin Ong
a28575088b
Implemented WorkingQueue.cleanup().
10 years ago
Selwin Ong
3dc008d090
Added WorkingQueue class.
10 years ago
Vincent Driessen
9ab46804c6
Merge pull request #417 from foxx/feature/testworker
...
Added test worker for unit tests - fixes #413
10 years ago
foxx
52c3ad0fbf
Renamed to SimpleWorker
10 years ago
foxx
23cae3a420
Fixed bug caused by broken merge, my bad
10 years ago
foxx
16ee71f26d
Use class for test worker, and performs PID check in unit tests, #412
10 years ago
Vincent Driessen
dab8373311
Fix all tests.
10 years ago
Vincent Driessen
c860beb4d5
Fix broken imports.
10 years ago
Vincent Driessen
fc803f5d0d
Fix various flake8 complaints.
10 years ago
foxx
72bc9e37b7
Forced job_id to only allow str/unicode
10 years ago
foxx
05c1d4fa4b
Added better job ID tests
10 years ago
foxx
6bb8b26114
Allow job ID to be set on enqueue/enqueue_call() - fixes #412
10 years ago
zhangliyong
5883bb9efe
Make pep8
10 years ago
zhangliyong
0ddd174868
Fix invoking requeue command bug in test_requeue
10 years ago
zhangliyong
8782b11f1e
Adjust test_requeue
10 years ago
zhangliyong
1ab92602e8
Add testcase for rq_cli
10 years ago
Vincent Driessen
3ded050804
Replace by a string just as wide to not make this invalid binary pickle data.
11 years ago
Vincent Driessen
79db282879
Support enqueueing callable classes.
...
Fixes #388 .
11 years ago
Vincent Driessen
12932a433b
Merge pull request #382 from selwin/cancel-should-remove-from-queue
...
job.cancel() should remove itself from queue
11 years ago
Selwin Ong
638211df20
job.cancel() should remove itself from queue.
11 years ago
Selwin Ong
7ac1c3500a
Worker.__init__ should accept custom job class.
11 years ago
Selwin Ong
141278bb42
Queue.__init__ supports job_class argument.
11 years ago
Vincent Driessen
eb469f8da0
Fix broken stub in tests.
11 years ago
Vincent Driessen
da70ba580b
Fix broken import.
11 years ago
Vincent Driessen
c5939479b5
Merge remote-tracking branch 'origin/master' into SanyerMyasoedov-master
...
Conflicts:
rq/decorators.py
tests/__init__.py
tests/test_decorator.py
11 years ago
Vincent Driessen
ab9e6b852e
Fix PEP8 complaints.
11 years ago
Vincent Driessen
38ec259b6e
Enable the most modern Python syntax.
11 years ago
msoedov
e76020d894
Removed @resolve_connection from job decorator.
...
-- resolve_connection already presence inside Queue __init__.
11 years ago
msoedov
dd994142b3
Added tests and updated requirements with mock lib.
11 years ago
Vincent Driessen
5fe82bd543
Merge pull request #341 from SanyerMyasoedov/master
...
Added depends_on to job decorator
11 years ago
msoedov
46c96f9481
Added depends_on to job decorator
11 years ago
Selwin Ong
4f918041e3
Rearranged how explicit kwargs are passed into queue.enqueue(). Fixes #322
11 years ago
Selwin Ong
f5c3c9a6dd
Deprecate job.status.
11 years ago
Selwin Ong
2fe5d9e25e
Python 3 compatibility with worker.get_current_job().
11 years ago
Selwin Ong
802ecb5ccb
Renamed worker.set_job_id() and worker.get_job_id() for consistency.
11 years ago
Selwin Ong
93bb9ec5f4
Added tests for worker.get_current_job().
11 years ago
Vincent Driessen
a2213f1364
Fix tests.
11 years ago
Vincent Driessen
85a7a14a4c
Replace substring in Pickle string differently.
...
Pickle uses a new format since Python 3, which is incompatible with
Python 2. This problem now pops up because the replacement string had
a different length, so we broke the pickle protocol with this test.
11 years ago
Vincent Driessen
44233709ed
Allow two-way setting of job data properties.
...
As a side-effect, this also enables us to lazily load the data.
11 years ago
Malthe Borch
ba0b39a43b
Unpickle job data lazily. This fixes issue #294 .
11 years ago
Malthe Borch
c5a381fbe9
Remove dependency on 'times' library (see issue #286 ).
...
Basically, for the functionality needed, a dependency on 'times' (which
in turn depends on 'python-dateutil') seem unnecessary.
11 years ago
Joshua Chia
ef2bbe762b
Minor cleanup: Use Status enums instead of strings
11 years ago
Selwin Ong
b997fb45bf
Removed unnecessary lines from test_job.py.
11 years ago
Selwin Ong
8aa5771646
job.cancel() now deletes dependents_key
11 years ago
Vincent Driessen
7fdd115e28
Merge branch 'jchia-master'
...
Conflicts:
rq/job.py
rq/queue.py
11 years ago
Vincent Driessen
01f9a98ad9
Make test more readable by using constants.
11 years ago
Vincent Driessen
bb3dc5b0b2
Terminology change: waitlist -> dependents.
11 years ago
Joshua Chia
b89d6c8990
Set timeout at Job creation instead of during enqueueing; made Queue.enqueue_call respect `timeout` when `after` is specified
11 years ago
Selwin Ong
15c4b562ba
Reverse dependency mapping should be a set instead of a list.
11 years ago
Selwin Ong
93e5e552b7
Replaced "after" kwarg with "depends_on".
11 years ago
Mark Tozzi
0713ad03c2
Empty now deletes all jobs in the queue
11 years ago
Vincent Driessen
1fed0e0ed5
PEP8ify.
11 years ago
Vincent Driessen
d92022bb83
Record new behaviour of Queue.all() explicitly in a test.
11 years ago
Vincent Driessen
13b8d03c59
Remove misleading test.
11 years ago
Rob Harrigan
02c5d902ec
Merge remote-tracking branch 'upstream/master'
...
Conflicts:
tests/test_queue.py
11 years ago
Rob Harrigan
5e4d5f642e
Only save queue to set on enqueue.
...
Validate queue key still exists when all() is called
11 years ago
Selwin Ong
fd44ad39d4
Python 3 fixes for job dependency stuff.
11 years ago
Selwin Ong
fcfe55fe13
Merge branch 'master' into job_dependency
...
Conflicts:
rq/job.py
rq/queue.py
11 years ago
Rob Harrigan
c08b96e027
Use a redis set to store queue names, instead of relying on the redis "keys" method,
...
which does not perform well on large databases.
11 years ago
Vincent Driessen
1274b09115
Use constants in tests, instead of calling more functions.
11 years ago
Vincent Driessen
90fcb6c9d0
PEP8ify.
11 years ago
H. İbrahim Güngör
10bda9684d
Pass description parameter to job constructor in order to distinguish job names in queue.jobs or in rq-dashboard. Add related test case.
12 years ago
Alex Morega
328e7611d3
use utf-8 instead of ascii
12 years ago
Alex Morega
8d61d3bf26
port string handling to py3
...
Redis uses byte values for everything. We save queue names and job
IDs as unicode. So we need to convert every time we get data from redis.
12 years ago
Vincent Driessen
670a4e2a4e
Python 3 chokes on this one. Whatever man.
12 years ago
Alex Morega
a3b5ce5e46
accomodate py3 imports and builtins
12 years ago
Wojciech Bederski
f9897ea920
register_sentry breaks failed queue when func cannot be imported
12 years ago
Selwin Ong
e7e8579888
Merge branch 'master' of git://github.com/nvie/rq into job_dependency
...
Conflicts:
rq/queue.py
12 years ago
Selwin Ong
2e826e2b1f
Internally renamed the term "parent" to "dependency".
12 years ago
Selwin Ong
0dfb041383
Simplify enqueue_waitlist by using lpop.
12 years ago
Selwin Ong
18ff57ef35
Avoid race conditions when enqueueing job with dependency.
12 years ago
Vincent Driessen
7ea02d4029
Add explicit classmethod test.
12 years ago
Vincent Driessen
a5dff6659c
Replace the Calculator fixture by a Number fixture.
...
This makes the tests a little more realistic, since I want to add a test
for class methods.
12 years ago
Selwin Ong
6550f86646
Don't enqueue waitlisted jobs on failed execution.
12 years ago
Selwin Ong
eadc7db29f
First stab at writing implementing job dependency.
12 years ago
Selwin Ong
85e9014296
Moved some logic from worker.perform_job() to job.cleanup().
12 years ago
Selwin Ong
c987569650
Safe fetching a deleted job removes the deleted job from queue.
12 years ago
Vincent Driessen
640195d5e4
Merge branch 'master' into yaniv-aknin-worker_ttl
12 years ago
Selwin Ong
e5fa82aa5d
Merge branch 'master' of github.com:selwin/rq
12 years ago
Selwin Ong
05d744c9af
Requeuing a job should set its status back to Queued.
12 years ago
Vincent Driessen
54254f2271
Patch the connection instances.
...
This patches the connection object (which is either a StrictRedis
instance or a Redis instance), to have alternative class methods that
behave exactly like their StrictRedis counterparts, no matter whether
which type the object is. Only the ambiguous methods are patched. The
exhaustive list:
- _zadd (fixes argument order)
- _lrem (fixes argument order)
- _setex (fixes argument order)
- _pipeline (always returns a StrictPipeline)
- _ttl (fixes return value)
- _pttl (fixes return value)
This makes it possible to call the methods reliably without polluting
the RQ code any further.
12 years ago
Yaniv Aknin
4925b09aa5
Set worker ttl and maintain it when idle/taking/finishing jobs
...
This change could use far better test coverage, but I'm not sure how to
test it without refactoring more of the code than I think is reasonable
in the scope of this work.
12 years ago
Yaniv Aknin
74c2351232
Refactor dequeue_any to accept arbitrary timeouts
...
The 'blocking' parameter was replaced with a 'timeout' parameter.
The timeout parameter is interpreted thus:
0 - no timeout (block forever, equivalent to blocking=True)
None - non-blocking (return value or None immediately, equivalent to
blocking=False)
<integer> - maximum seconds to block
Upon timing out, a dequeue operation will raise DequeueTimeout.
12 years ago
Vincent Driessen
06b48c2026
Use unittest2 for Python 2.6.
12 years ago
Vincent Driessen
d1c2b3b78d
Merge branch 'selwin-remove-logbook'
...
Conflicts:
rq/utils.py
rq/worker.py
setup.cfg
setup.py
12 years ago
Selwin Ong
f498de57b6
Always call job.save even on synchronous queues so get_current_job doesn't fail
12 years ago
Vincent Driessen
10237ddcb4
Merge branch 'job-access-within-job'
...
Conflicts:
CHANGES.md
rq/job.py
12 years ago
Ulrich Petri
43038d3150
Added tests for config file loading
12 years ago
Vincent Driessen
5e59c6e28e
Rename the const.
12 years ago
Scott Burns
538bbb1b55
Decorator accepts result_ttl argument
12 years ago
Vincent Driessen
8cb6a21670
Only store custom properties when they're written to the meta dict.
12 years ago
Vincent Driessen
5e80aa27eb
Fix comment.
12 years ago
Vincent Driessen
95d3aed98e
Store the job ID on the internal stack.
...
It does so instead of the instance itself. Still returns the job---the
interface hasn't changed.
12 years ago
Vincent Driessen
372de4b45a
Implement the get_current_job() function.
...
This fixes #125 .
12 years ago
Vincent Driessen
879a87d158
Remove logbook and replace it with logging.
...
This reverts commit 1ab8c19696
and
reintroduces all changes made by @dstufft.
Still, it needs more patches to reeanble the default log-to-console
behaviour. See #121 .
12 years ago
Vincent Driessen
1ab8c19696
Revert "Remove logbook and replace it with logging".
...
This reverts the commit range f367c38..978ba2d.
Issue #121 is currently blocking the 0.3.1 release.
12 years ago
Vincent Driessen
781f3e0460
Add test for custom exc handling.
12 years ago
Vincent Driessen
6b0ebe9ceb
Remove is_done property.
...
It is too similar to is_finished.
13 years ago
Vincent Driessen
9549b34d60
Add convenience accessor properties for status.
13 years ago
Vincent Driessen
4224304291
I like this implementation of an 'enum' better.
13 years ago
Selwin Ong
442b389b97
Job returning None as result are now persisted correctly.
...
Job status can now be checked via ``status`` property which should
return either "queued", "finished" or "failed".
13 years ago
Vincent Driessen
f06ef9c975
Merge branch 'selwin-async-2'
...
This fixes #114 .
13 years ago
Vincent Driessen
83369f3b9b
Prefer `result` over `return_value`.
...
`return_value` still is available as a backward-compatible accessor.
This fixes #116 .
13 years ago
Selwin Ong
06d75630e0
Execute job immediately if Queue(async=False)
13 years ago
Donald Stufft
a08c983efc
Fix tests to use logging
13 years ago
Vincent Driessen
5fcedbcdad
Change assertEqual to assertGreaterThan, to make the test a little less
...
brittle (on slow machines).
13 years ago
Selwin Ong
a5e6765990
Added "result_ttl" property on jobs that determines how long job results are persisted in Redis.
13 years ago
Selwin Ong
a4f1de358f
Raise a StopException when Control+C is pressed.
13 years ago
Vincent Driessen
d697ddb93a
Resolve connections early.
...
Fixes #101 .
13 years ago
Vincent Driessen
c7225ba257
Minor bug in test case.
13 years ago
Vincent Driessen
35dedf3db4
Make test descriptions show up in short (oneliner) mode, as ./run_tests does.
13 years ago
Vincent Driessen
ea19bdc910
Merge branch 'new-enqueue' into selwin-decorator
13 years ago
Selwin Ong
8c3292d35b
Make "queue" argument in job decorator required.
...
job decorator now uses Queue's "enqueue_call" method.
13 years ago
Vincent Driessen
d66939ff4a
Don't use the (internal) .enqueue_call() in unit tests.
13 years ago
Selwin Ong
ae97f862dc
Merge branch 'master' into decorator
13 years ago
Vincent Driessen
e6bb7de8c0
Get rid of the ambiguity when passing the timeout argument to .enqueue() calls.
13 years ago
Vincent Driessen
f6e67431d7
Refactor the .enqueue() API to not gobble the timeout kwargs.
...
This fixes #98 .
13 years ago
Selwin Ong
bdc1af28d1
Added a job decorator.
13 years ago
Vincent Driessen
3a8f30a53e
Add test.
13 years ago
Vincent Driessen
604fce99a1
Merge with master.
13 years ago
Selwin Ong
1fb0a1bfac
Modified ``Job`` ``save`` and ``refresh`` methods to support persisting
...
additional ``Job`` attributes into Redis.
13 years ago
Vincent Driessen
cfbbc3d0ea
Merge remote-tracking branch 'omarkhan/instance_methods'
13 years ago
Omar Khan
03bd49511d
Allow instance methods to be enqueued
...
Only works for picklable instances
13 years ago
Goran Peretin
34d161eb11
requeueing preserves job timeout
13 years ago
Goran Peretin
317a58a3b5
quarantine preserves job timeout
13 years ago
Vincent Driessen
f5951900c8
Make unit tests compatible with Python < 2.7.
13 years ago
Vincent Driessen
b45770cd3c
Fix unit test expressions.
13 years ago
Vincent Driessen
2982486448
New connection management.
...
Connections can now be set explicitly on Queues, Workers, and Jobs.
Jobs that are implicitly created by Queue or Worker API calls now
inherit the connection of their creator's.
For all RQ object instances that are created now holds that the
"current" connection is used if none is passed in explicitly. The
"current" connection is thus hold on to at creation time and won't be
changed for the lifetime of the object.
Effectively, this means that, given a default Redis connection, say you
create a queue Q1, then push another Redis connection onto the
connection stack, then create Q2. In that case, Q1 means a queue on the
first connection and Q2 on the second connection.
This is way more clear than it used to be.
Also, I've removed the `use_redis()` call, which was named ugly.
Instead, some new alternatives for connection management now exist.
You can push/pop connections now:
>>> my_conn = Redis()
>>> push_connection(my_conn)
>>> q = Queue()
>>> q.connection == my_conn
True
>>> pop_connection() == my_conn
Also, you can stack them syntactically:
>>> conn1 = Redis()
>>> conn2 = Redis('example.org', 1234)
>>> with Connection(conn1):
... q = Queue()
... with Connection(conn2):
... q2 = Queue()
... q3 = Queue()
>>> q.connection == conn1
True
>>> q2.connection == conn2
True
>>> q3.connection == conn1
True
Or, if you only require a single connection to Redis (for most uses):
>>> use_connection(Redis())
13 years ago
Vincent Driessen
c684949045
Don't expose the FailedQueue class at the top-level.
...
This fixes #36 .
13 years ago
Vincent Driessen
98ea29b15a
Don't expose the Job class at the top-level.
...
This partially fixes #37 .
13 years ago
Vincent Driessen
2b6101d110
Move job from Worker to Job test suite.
13 years ago
Vincent Driessen
15342f14d3
Store pickled function calls as strings.
...
This aids unpacking in the case of a function that isn't importable from
the worker's runtime. The unpickling will now (almost) always succeed,
and throw an ImportError later on, when the function is actually
accessed (thus imported implicitly).
The end result is a job on the failed queue, with exc_info describing
the import error, which is tremendously useful.
13 years ago
Vincent Driessen
14ecb8e956
Add specifics on the "ImportError" to the message in case of an attribute error.
13 years ago
Vincent Driessen
be8f7684aa
Fix accidentally passing unit test.
13 years ago
Vincent Driessen
3c05f20d95
Flake8.
13 years ago
Vincent Driessen
844c5ed8c7
Add @slow wrapper to avoid running slow tests.
...
Use ./run_tests -f to only run the fast tests.
13 years ago
Vincent Driessen
91fff48389
Flake8.
13 years ago
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.
13 years ago
Vincent Driessen
9ac9c23412
Flake8.
13 years ago
Vincent Driessen
7ef3b5ade8
Cleanup job hashes for jobs without result, too.
13 years ago
Vincent Driessen
f07d28db86
Organize test fixtures into a separate file.
13 years ago
Vincent Driessen
5717a0ba15
Rename Job.for_call() -> Job.create().
...
This fixes #34 .
13 years ago
Vincent Driessen
7e0b843d06
Implement requeue() method on FailedQueue.
13 years ago
Vincent Driessen
8e85c7eee3
Put Job directly in the top-level `rq` module.
13 years ago
Vincent Driessen
06ce9622ea
Add compact() method on Queues, to remove dead messages.
13 years ago
Vincent Driessen
80a615a61c
Flake8 style fixes.
13 years ago
Vincent Driessen
e4055ca42f
Allow queues to be emptied.
13 years ago
Vincent Driessen
9e33e1a08f
Implement a cancel() method on jobs.
...
This fixes #29 .
13 years ago
Vincent Driessen
53f55ba986
Flake8 style fixes in the test suite.
13 years ago
Vincent Driessen
11c7dbb376
Consistently renamed "failure" -> "failed" queue.
...
Fixes #28 .
13 years ago
Vincent Driessen
7bda1ca969
Encapsulate the result property (it should not directly be set).
13 years ago
Vincent Driessen
8da204f74a
Always use cPickle, never 'regular' pickle.
...
This fixes #18 .
13 years ago
Vincent Driessen
9318825429
Abstract away from the concrete pickle implementation.
...
Choose cPickle, if available, for best performance.
13 years ago
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 .
13 years ago
Vincent Driessen
e05acfedce
Fix putting jobs on the failure queue when they fail.
13 years ago
Vincent Driessen
7c903e45ef
Simplify the persistence of jobs.
...
Fixes #23 and #24 .
13 years ago
Vincent Driessen
370399f8f7
CHECKPOINT: dequeue_any now returns the queue that was popped from.
13 years ago
Vincent Driessen
f516f8df2e
CHECKPOINT: Handle failing and unreadable jobs.
...
Failing (or unreadable) jobs are correctly put on the failure queue by
the worker now.
13 years ago
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.
13 years ago
Vincent Driessen
65105b44c3
CHECKPOINT: Initial part of the big refactor.
13 years ago
Vincent Driessen
7fff52d99c
Get rid of ugly custom assertion.
13 years ago
Vincent Driessen
fcca48a9d7
Rename empty property -> is_empty() method.
13 years ago
Vincent Driessen
fdce187c27
Putting failed jobs on the failure queue.
13 years ago
Vincent Driessen
7eb8d92605
Put unreadable tasks on the failure queue.
13 years ago
Vincent Driessen
0be1cb6ac0
Change the way jobs are pickled.
...
There is no job tuple anymore, but instead Jobs are picklable by
themselves natively. Furthermore, I've added a way to annotate Jobs
with created_at and enqueued_at timestamps, to drive any future Job
performance stats. (And to enable requeueing, while keeping hold of the
queue that the Job originated from.)
This fixes #17 .
13 years ago
Vincent Driessen
0503eb2829
Clarified responsibility of the Job class.
...
The Job itself has nothing to do with queueing and dequeueing, so the
DequeueError wasn't appropriate here, either.
13 years ago
Vincent Driessen
1f64157c38
Broke down tests into multiple files.
13 years ago
Vincent Driessen
210477c2ab
Throw DequeueError when reading unprocessable data from queue.
13 years ago
Vincent Driessen
2c72d94ebd
Run class initializations only once.
13 years ago
Vincent Driessen
068db4cb35
Shut up logbook during tests.
13 years ago
Vincent Driessen
aecb0a1bf0
Simplify calling .work() or .work(burst=True).
13 years ago
Vincent Driessen
213ac73e19
Remove blinker dependency.
13 years ago
Vincent Driessen
fd3831f8f2
Fix b0rken test case due to new naming conventions.
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
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
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
d721f0708b
Refactor the whole Redis connection stuff to be just as easy as in RDB.
13 years ago
Vincent Driessen
05e83c5231
Add a very minor beginning to the test cases.
13 years ago
Vincent Driessen
c45e056786
Add some project meta stuff.
13 years ago