कारण हमारे मामले में था:साइडकीक गलत कतार की तलाश कर सकता है। डिफ़ॉल्ट रूप से साइडकीक "डिफ़ॉल्ट" नामक एक कतार का उपयोग करता है। हमने दो अलग-अलग कतार नामों का उपयोग किया, और उन्हें config/sidekiq.yml
. में परिभाषित किया# configuration file for Sidekiq
:queues:
- queue_name_1
- queue_name_2
समस्या यह है कि यह कॉन्फ़िग फ़ाइल स्वचालित रूप से लोड नहीं होती आपके विकास परिवेश में डिफ़ॉल्ट रूप से (database.yml
. के विपरीत) या thinking_sphinx.yml
उदाहरण के लिए) एक साधारण bundle exec sidekiq
. द्वारा आज्ञा। इस प्रकार हमने अपनी नौकरियों को दो निश्चित कतारों में लिखा, और साइडकीक तीसरी कतार (डिफ़ॉल्ट एक) में नौकरियों की प्रतीक्षा कर रहा था। आपको कॉन्फ़िगरेशन फ़ाइल के पथ को -C
. के माध्यम से पैरामीटर के रूप में पास करना होगा या --config
विकल्प:
bundle exec sidekiq -C ./config/sidekiq.yml
या आप सीधे कतार के नाम पास कर सकते हैं (अल्पविराम के बाद यहां कोई रिक्त स्थान की अनुमति नहीं है):
bundle exec sidekiq -q queue_name_1,queue_name_2
समस्या का पता लगाने के लिए -v
. विकल्प को पास करना मददगार होता है या --verbose
कमांड लाइन पर भी, या :verbose: true
. का उपयोग करने के लिए sidekiq.yml
. में फ़ाइल। कॉन्फ़िग फ़ाइल में परिभाषित सब कुछ निश्चित रूप से बेकार है यदि कॉन्फ़िग फ़ाइल लोड नहीं है.. इसलिए सुनिश्चित करें कि आप पहले सही कॉन्फ़िग फ़ाइल का उपयोग कर रहे हैं।