बड़ी संख्या में नौकरियों को संसाधित करने के लिए, मैं पूरा करने के लिए कितना काम करने के आधार पर कतार श्रमिकों की एक चर संख्या चलाता हूं। मैं उस कार्य को पूरा करने के लिए आवश्यक श्रमिकों को चलाने की अपेक्षा नहीं करता हूं, जिसे हम उचित समझा जाता है।लार्वार्ट आर्टिसन सीएलआई सुरक्षित रूप से डेमॉन कतार श्रमिकों को रोकता है
फिलहाल, मैं परीक्षण प्रयोजनों के लिए 5 डेमॉन कतार श्रमिकों की शुरुआत करता हूं, हालांकि उत्पादन में यह संख्या 25 & 100 कर्मचारियों के बीच हो सकती है, संभवतः अधिक। मैं समझता हूं कि तैनाती करते समय, मुझे php artisan down
का उपयोग करके रखरखाव मोड में ढांचे को पहले रखकर कतार श्रमिकों को रोकना होगा, क्योंकि --daemon
ध्वज कार्यकर्ता शुरू होने पर ही फ्रेमवर्क को लोड करने का कारण बनता है, इसलिए नया कोड प्रभावित नहीं होगा कार्यकर्ता पुनरारंभ होने तक तैनात करें।
अगर मुझे किसी कारण से श्रमिकों को रोकने की ज़रूरत है, तो मैं php artisan down
का उपयोग करके रखरखाव मोड में एप्लिकेशन डाल सकता हूं जो श्रमिकों को मरने के बाद उनके वर्तमान काम को संसाधित करने के बाद मर जाएगा (यदि वे एक काम कर रहे हैं)। हालांकि, ऐसे समय हो सकते हैं जहां मैं पूरे आवेदन को रखरखाव मोड में रखे बिना श्रमिकों को मारना चाहता हूं।
क्या श्रमिकों को इस तरह से रोकने का एक सुरक्षित तरीका है कि वे अपने वर्तमान काम को संसाधित करना जारी रखेंगे और फिर पूरा आवेदन रखरखाव मोड में रखे बिना मर जाएंगे?
अनिवार्य रूप से मैं क्या जरूरत है एक php artisan queue:stop
, जो php artisan queue:restart
तरह बर्ताव करता है, लेकिन एक बार काम किया है कार्यकर्ता को पुनः आरंभ नहीं करता है।
मैं ऐसा करने के लिए वहां जा रहा था php artisan queue:stop
कमांड जो ऐसा करेगा, लेकिन ऐसा नहीं लगता है।
ps aux | grep php
का उपयोग कर मैं श्रमिकों के लिए प्रक्रिया आईडी प्राप्त करने में सक्षम हूं, और मैं इस तरह की प्रक्रियाओं को मार सकता हूं, लेकिन मैं नौकरी पर काम करने के बीच में प्रक्रिया को मारना नहीं चाहता हूं।
धन्यवाद।
इस प्रश्न को ढूंढने वाले किसी भी व्यक्ति के लिए। http://stackoverflow.com/questions/30060526/laravel-artisan-cli-safely-stop-daemon-queue-workers#comment48332831_30087630 का उत्तर है। php artisan queue: पुनरारंभ करना श्रमिकों को रोक देगा। "पुनरारंभ" नाम भ्रामक है। मजदूरों को बंद होने के बाद वास्तव में पुनरारंभ नहीं किया जाएगा। – Vigs
सही है।"पुनरारंभ" केवल तभी होता है जब आपके पास निगरानी करने के लिए सुपरवाइजर सेटअप की तरह कुछ हो और उन्हें छोड़ने के बाद स्वचालित रूप से पुनरारंभ करें। (जो सामान्य सेटअप है।) –