151 Commits (d2bbd31c59bac8e53e1968bf8e639dec7667927b)

Author SHA1 Message Date
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