Redis
 sql >> डेटाबेस >  >> NoSQL >> Redis

पायथन रेडिस कतार ValueError:__main__ मॉड्यूल के कार्यों को श्रमिकों द्वारा संसाधित नहीं किया जा सकता है

दिए गए कोड को दो फाइलों में विभाजित करें:count_words.py :

import requests

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

और main.py (जहां आप आवश्यक फ़ंक्शन आयात करेंगे):

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

मैं उन कार्यों को अलग-अलग फाइलों में चलाने वाले तर्क से कार्यों को हमेशा अलग करता हूं। यह सिर्फ बेहतर संगठन है। यह भी ध्यान दें कि आप मेरे द्वारा ऊपर सुझाई गई (अति-सरलीकृत) संरचना के बजाय कार्यों के एक वर्ग को परिभाषित कर सकते हैं और उस वर्ग से कार्यों को आयात/शेड्यूल कर सकते हैं। यह आपको आगे बढ़ाना चाहिए..यह भी पुष्टि करने के लिए यहां देखें कि आप इस उदाहरण के साथ संघर्ष करने वाले पहले व्यक्ति नहीं हैं। RQ बढ़िया है एक बार जब आप इसे समझ लेंगे।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. सर्वाधिक ज्ञात नोएसक्यूएल सिस्टमों में मुख्य अंतर/विशेषताएं

  2. रेडिस एक से अधिक आईपी से जुड़ता है

  3. संदेश दलाल के रूप में रेडिस

  4. रेडिस प्रदर्शन, जसन ऑब्जेक्ट को एक स्ट्रिंग के रूप में संग्रहीत करें

  5. रेडिस सॉर्ट की गई सूचियों का उपयोग कैसे करें