mirror of https://github.com/peter4431/rq.git
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			63 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
| #!/usr/bin/env python
 | |
| import optparse
 | |
| from rq import use_connection, Queue, Worker
 | |
| from rq import dummy
 | |
| 
 | |
| 
 | |
| def parse_args():
 | |
|     parser = optparse.OptionParser()
 | |
|     parser.add_option('-n', '--count', type='int', dest='count', default=1)
 | |
|     opts, args = parser.parse_args()
 | |
|     return (opts, args, parser)
 | |
| 
 | |
| def main():
 | |
|     import sys
 | |
|     sys.path.insert(0, '.')
 | |
| 
 | |
|     opts, args, parser = parse_args()
 | |
| 
 | |
|     use_connection()
 | |
| 
 | |
|     queues = ('default', 'high', 'low')
 | |
| 
 | |
|     sample_calls = [
 | |
|             (dummy.do_nothing, [], {}),
 | |
|             (dummy.sleep, [1], {}),
 | |
|             (dummy.fib, [8], {}),              # normal result
 | |
|             (dummy.fib, [24], {}),             # takes pretty long
 | |
|             (dummy.div_by_zero, [], {}),       # 5 / 0 => div by zero exc
 | |
|             (dummy.random_failure, [], {}),    # simulate random failure (handy for requeue testing)
 | |
|     ]
 | |
| 
 | |
|     for i in range(opts.count):
 | |
|         import random
 | |
|         f, args, kwargs = random.choice(sample_calls)
 | |
| 
 | |
|         q = Queue(random.choice(queues))
 | |
|         q.enqueue(f, *args, **kwargs)
 | |
| 
 | |
|         #q = Queue('foo')
 | |
|         #q.enqueue(do_nothing)
 | |
|         #q.enqueue(sleep, 3)
 | |
|         #q = Queue('bar')
 | |
|         #q.enqueue(yield_stuff)
 | |
|         #q.enqueue(do_nothing)
 | |
|         #q.enqueue(do_nothing)
 | |
|         #q.enqueue(do_nothing)
 | |
|         #q.enqueue(do_nothing)
 | |
|         #q.enqueue(do_nothing)
 | |
|         #q.enqueue(do_nothing)
 | |
|         #q.enqueue(do_nothing)
 | |
|         #q.enqueue(do_nothing)
 | |
|         #q.enqueue(do_nothing)
 | |
|         #q.enqueue(do_nothing)
 | |
|         #q.enqueue(do_nothing)
 | |
|         #q.enqueue(do_nothing)
 | |
|         #q.enqueue(do_nothing)
 | |
|         #q.enqueue(do_nothing)
 | |
|         #q.enqueue(do_nothing)
 | |
|         #q.enqueue(do_nothing)
 | |
| 
 | |
| if __name__ == '__main__':
 | |
|     main()
 |