Breek de verstrekte code in twee bestanden:count_words.py :
import requests
def count_words_at_url(url):
resp = requests.get(url)
return len(resp.text.split())
en main.py (waar u de vereiste functie importeert):
from rq import Connection, Queue
from redis import Redis
from count_words import count_words_at_url # added import!
redis_conn = Redis()
q = Queue(connection=redis_conn)
job = q.enqueue(count_words_at_url, 'http://nvie.com')
print job
Ik scheid de taken altijd van de logica die die taken uitvoert naar verschillende bestanden. Het is gewoon een betere organisatie. Merk ook op dat je een klasse van taken kunt definiëren en taken uit die klasse kunt importeren/plannen in plaats van de (te vereenvoudigde) structuur die ik hierboven voorstel. Dit zou je op weg moeten helpen.. Zie ook hier om te bevestigen dat je niet de eerste bent die worstelt met dit voorbeeld. RQ is geweldig als je het eenmaal onder de knie hebt.