Rewrite of the connection setup.

I'd want to advice against using `use_connection()` more, as the
connection setup is less explicit, and also pollutes global memory.

Because, well:

    $ python -m this | head -n4 | tail -n1

;)
main
Vincent Driessen 13 years ago
parent 31259fa106
commit 48cee215af

@ -1,34 +1,40 @@
import os import os
import time import time
from rq import Queue, use_connection from rq import Queue, Connection
from fib import slow_fib from fib import slow_fib
# Tell RQ what Redis connection to use
use_connection()
# Range of Fibonacci numbers to compute
fib_range = range(20, 34)
# Kick off the tasks asynchronously def main():
async_results = {} # Range of Fibonacci numbers to compute
q = Queue() fib_range = range(20, 34)
for x in fib_range:
async_results[x] = q.enqueue(slow_fib, x)
start_time = time.time() # Kick off the tasks asynchronously
done = False async_results = {}
while not done: q = Queue()
os.system('clear')
print 'Asynchronously: (now = %.2f)' % (time.time() - start_time)
done = True
for x in fib_range: for x in fib_range:
result = async_results[x].return_value async_results[x] = q.enqueue(slow_fib, x)
if result is None:
done = False
result = '(calculating)'
print 'fib(%d) = %s' % (x, result)
print ''
print 'To start the actual in the background, run a worker:'
print ' python examples/run_worker.py'
time.sleep(0.2)
print 'Done' start_time = time.time()
done = False
while not done:
os.system('clear')
print 'Asynchronously: (now = %.2f)' % (time.time() - start_time)
done = True
for x in fib_range:
result = async_results[x].return_value
if result is None:
done = False
result = '(calculating)'
print 'fib(%d) = %s' % (x, result)
print ''
print 'To start the actual in the background, run a worker:'
print ' python examples/run_worker.py'
time.sleep(0.2)
print 'Done'
if __name__ == '__main__':
# Tell RQ what Redis connection to use
with Connection():
main()

@ -1,8 +1,8 @@
from rq import Queue, Worker, use_connection from rq import Queue, Worker, Connection
# Tell rq what Redis connection to use
use_connection()
if __name__ == '__main__': if __name__ == '__main__':
q = Queue() # Tell rq what Redis connection to use
Worker(q).work() with Connection():
q = Queue()
Worker(q).work()

Loading…
Cancel
Save