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.
		
		
		
		
		
			
		
			
				
	
	
		
			67 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
#!/usr/bin/env python
 | 
						|
import optparse
 | 
						|
from rq import use_redis, 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_redis()
 | 
						|
 | 
						|
    queues = ('default', 'high', 'low')
 | 
						|
 | 
						|
    sample_calls = [
 | 
						|
            (dummy.do_nothing, [], {}),
 | 
						|
            (dummy.do_nothing, [], {}),
 | 
						|
            (dummy.do_nothing, [], {}),
 | 
						|
            (dummy.do_nothing, [], {}),
 | 
						|
            (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.fib, [30], {}),             # takes long, then crashes
 | 
						|
    ]
 | 
						|
 | 
						|
    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()
 |