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. 
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								14ecb8e956 
								
							
								 
							
						 
						
							
							
								
								Add specifics on the "ImportError" to the message in case of an attribute error.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								be8f7684aa 
								
							
								 
							
						 
						
							
							
								
								Fix accidentally passing unit test.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								3c05f20d95 
								
							
								 
							
						 
						
							
							
								
								Flake8.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								844c5ed8c7 
								
							
								 
							
						 
						
							
							
								
								Add @slow wrapper to avoid running slow tests.  
							
							... 
							
							
							
							Use ./run_tests -f to only run the fast tests. 
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								91fff48389 
								
							
								 
							
						 
						
							
							
								
								Flake8.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								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. 
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								9ac9c23412 
								
							
								 
							
						 
						
							
							
								
								Flake8.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								7ef3b5ade8 
								
							
								 
							
						 
						
							
							
								
								Cleanup job hashes for jobs without result, too.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								f07d28db86 
								
							
								 
							
						 
						
							
							
								
								Organize test fixtures into a separate file.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								5717a0ba15 
								
							
								 
							
						 
						
							
							
								
								Rename Job.for_call() -> Job.create().  
							
							... 
							
							
							
							This fixes  #34 . 
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								7e0b843d06 
								
							
								 
							
						 
						
							
							
								
								Implement requeue() method on FailedQueue.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								8e85c7eee3 
								
							
								 
							
						 
						
							
							
								
								Put Job directly in the top-level `rq` module.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								06ce9622ea 
								
							
								 
							
						 
						
							
							
								
								Add compact() method on Queues, to remove dead messages.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								80a615a61c 
								
							
								 
							
						 
						
							
							
								
								Flake8 style fixes.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								e4055ca42f 
								
							
								 
							
						 
						
							
							
								
								Allow queues to be emptied.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								9e33e1a08f 
								
							
								 
							
						 
						
							
							
								
								Implement a cancel() method on jobs.  
							
							... 
							
							
							
							This fixes  #29 . 
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								53f55ba986 
								
							
								 
							
						 
						
							
							
								
								Flake8 style fixes in the test suite.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								11c7dbb376 
								
							
								 
							
						 
						
							
							
								
								Consistently renamed "failure" -> "failed" queue.  
							
							... 
							
							
							
							Fixes  #28 . 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								7bda1ca969 
								
							
								 
							
						 
						
							
							
								
								Encapsulate the result property (it should not directly be set).  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								8da204f74a 
								
							
								 
							
						 
						
							
							
								
								Always use cPickle, never 'regular' pickle.  
							
							... 
							
							
							
							This fixes  #18 . 
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								9318825429 
								
							
								 
							
						 
						
							
							
								
								Abstract away from the concrete pickle implementation.  
							
							... 
							
							
							
							Choose cPickle, if available, for best performance. 
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								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 . 
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								e05acfedce 
								
							
								 
							
						 
						
							
							
								
								Fix putting jobs on the failure queue when they fail.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								7c903e45ef 
								
							
								 
							
						 
						
							
							
								
								Simplify the persistence of jobs.  
							
							... 
							
							
							
							Fixes  #23  and #24 . 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								370399f8f7 
								
							
								 
							
						 
						
							
							
								
								CHECKPOINT: dequeue_any now returns the queue that was popped from.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								f516f8df2e 
								
							
								 
							
						 
						
							
							
								
								CHECKPOINT: Handle failing and unreadable jobs.  
							
							... 
							
							
							
							Failing (or unreadable) jobs are correctly put on the failure queue by
the worker now. 
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								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. 
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								65105b44c3 
								
							
								 
							
						 
						
							
							
								
								CHECKPOINT: Initial part of the big refactor.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								7fff52d99c 
								
							
								 
							
						 
						
							
							
								
								Get rid of ugly custom assertion.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								fcca48a9d7 
								
							
								 
							
						 
						
							
							
								
								Rename empty property -> is_empty() method.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								fdce187c27 
								
							
								 
							
						 
						
							
							
								
								Putting failed jobs on the failure queue.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								7eb8d92605 
								
							
								 
							
						 
						
							
							
								
								Put unreadable tasks on the failure queue.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								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 . 
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								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. 
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								1f64157c38 
								
							
								 
							
						 
						
							
							
								
								Broke down tests into multiple files.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								210477c2ab 
								
							
								 
							
						 
						
							
							
								
								Throw DequeueError when reading unprocessable data from queue.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								2c72d94ebd 
								
							
								 
							
						 
						
							
							
								
								Run class initializations only once.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								068db4cb35 
								
							
								 
							
						 
						
							
							
								
								Shut up logbook during tests.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								aecb0a1bf0 
								
							
								 
							
						 
						
							
							
								
								Simplify calling .work() or .work(burst=True).  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								213ac73e19 
								
							
								 
							
						 
						
							
							
								
								Remove blinker dependency.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								fd3831f8f2 
								
							
								 
							
						 
						
							
							
								
								Fix b0rken test case due to new naming conventions.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								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. 
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								b4c1c85276 
								
							
								 
							
						 
						
							
							
								
								Add equality and comparison methods.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								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 . 
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								1c9fa66bc1 
								
							
								 
							
						 
						
							
							
								
								Greatly simplify the setup.  
							
							... 
							
							
							
							Jobs don't even need to be tagged.  Any function can be put on queues. 
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								62b6b180f3 
								
							
								 
							
						 
						
							
							
								
								Also allow args and kwargs to enqueue() calls on Queue.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								159eba6df2 
								
							
								 
							
						 
						
							
							
								
								Add arg to test case.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								fc5097ce7a 
								
							
								 
							
						 
						
							
							
								
								Better test naming.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								196a9815d2 
								
							
								 
							
						 
						
							
							
								
								Add dequeue method to Queue.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								b5e0377eb0 
								
							
								 
							
						 
						
							
							
								
								Allow jobs to be declared without a default queue.  
							
							... 
							
							
							
							This makes it impossible to use delay() on them.  Instead, you should
use enqueue(). 
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								407f3e8b38 
								
							
								 
							
						 
						
							
							
								
								Add ability to put work on alternate queues.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								1b8da4a861 
								
							
								 
							
						 
						
							
							
								
								Add test for putting work on queues.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								d721f0708b 
								
							
								 
							
						 
						
							
							
								
								Refactor the whole Redis connection stuff to be just as easy as in RDB.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								05e83c5231 
								
							
								 
							
						 
						
							
							
								
								Add a very minor beginning to the test cases.  
							
							
							
						 
						
							14 years ago  
				
					
						
							
							
								 
						
							
							
								c45e056786 
								
							
								 
							
						 
						
							
							
								
								Add some project meta stuff.  
							
							
							
						 
						
							14 years ago