sql >> Databáze >  >> NoSQL >> Redis

Python Reddis Queue ValueError:Funkce z modulu __main__ nemohou být zpracovány pracovníky

Rozdělte poskytnutý kód na dva soubory:count_words.py :

import requests

def count_words_at_url(url):
    resp = requests.get(url)
    return len(resp.text.split())

a main.py (kam importujete požadovanou funkci):

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

Vždy odděluji úkoly od logiky, která tyto úkoly spouští, do různých souborů. Je to jen lepší organizace. Všimněte si také, že můžete definovat třídu úkolů a importovat/plánovat úkoly z této třídy namísto (příliš zjednodušené) struktury, kterou navrhuji výše. To by vás mělo dostat do pohybu.. Podívejte se také sem, abyste potvrdili, že nejste první, kdo se potýká s tímto příkladem. RQ je skvělé jakmile to pochopíte.



  1. Jak často bych měl otevřít/zavřít připojení Booksleeve?

  2. Import datového typu pomocí mongoimport

  3. Případy použití pro updateOne přes findOneAndUpdate v MongoDB

  4. hdel uvnitř hget block nodejs redis