Ngắt mã đã cung cấp thành hai tệp: count_words.py :
import requests
def count_words_at_url(url):
resp = requests.get(url)
return len(resp.text.split())
và main.py (nơi bạn sẽ nhập hàm cần thiết):
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
Tôi luôn tách các tác vụ khỏi logic chạy các tác vụ đó thành các tệp khác nhau. Nó chỉ là tổ chức tốt hơn. Cũng lưu ý rằng bạn có thể xác định một lớp nhiệm vụ và nhập / lập lịch tác vụ từ lớp đó thay vì cấu trúc (đơn giản hóa quá mức) mà tôi đề xuất ở trên. Điều này sẽ giúp bạn tiếp tục. Ngoài ra, hãy xem ở đây để xác nhận rằng bạn không phải là người đầu tiên gặp khó khăn với ví dụ này. RQ thật tuyệt khi bạn hiểu rõ.