यह संभव है और मैं इसे हर समय कर रहा हूं। हमारे मामले में हमें तीन अलग-अलग प्रकार की नौकरियों को प्रोसेस करने के लिए कई नौकरियों की आवश्यकता है, queue_a, queue_b, और queue_c। सिस्टम देरी_job तालिका और कतार में उचित रूप से प्रविष्टियों में प्रविष्टियां करेगा।
प्रारंभ की तरह
RAILS_ENV=production script/delayed_job -i first --queue=queue_a start
RAILS_ENV=production script/delayed_job -i second --queue=queue_a start
RAILS_ENV=production script/delayed_job -i third --queue=queue_b start
RAILS_ENV=production script/delayed_job -i fourth --queue=queue_c start
प्रत्येक कमांड कई देरी नौकरियों एक delayed_job बन जाएगा, ताकि वहाँ अब 4 समानांतर नौकरियों, उनमें से दो queue_a और queue_b और queue_c के लिए एक-एक की सेवा हो जाएगा। यहां महत्वपूर्ण बात यह है कि -i
विकल्प के माध्यम से पारित पहचानकर्ता है जो इंस्टेंस नाम निर्दिष्ट करता है, और हम आवश्यकतानुसार नौकरियां शुरू और बंद कर सकते हैं।
एक और विकल्प कार्यकर्ता पूल का उपयोग करना है।
RAILS_ENV=production script/delayed_job --pool=tracking --pool=mailers,tasks:2 --pool=*:2 start
आदेश 1 ट्रैकिंग कतार के लिए कार्यकर्ता, मेलर्स और कार्यों कतार, और किसी भी नौकरी के लिए 2 श्रमिकों के लिए 2 श्रमिकों शुरू कर देंगे।
नहीं, एकाधिक कर्मचारी अनुक्रमिक अनुक्रमिक में काम नहीं करते हैं। यहां तक कि यदि कतार सभी एक तालिका में हैं, तो कर्मचारी 'run_at',' प्राथमिकता 'द्वारा क्रमबद्ध जॉब्स कतार का चयन करने के लिए एसक्यूएल क्वेरी का उपयोग करेंगे। इसलिए कई कर्मचारी समानांतर में उस तालिका के विभिन्न हिस्सों पर काम कर सकते हैं। – lulalala
मैं उत्तर के बारे में भूल गया, इसलिए मैंने जो जोड़ा और उसे स्वीकार कर लिया। मैंने दूसरे को भी ऊपर उठाया ... – slotishtype