प्रारंभ करना हम समानांतर में विभिन्न कार्यों को चलाने के लिए PHP गियरमैन श्रमिकों का उपयोग करते हैं। सब कुछ ठीक काम करता है, और जब मैं उन्हें चाहता हूं तो उन्हें स्पिन करने के लिए मूर्खतापूर्ण छोटी खोल स्क्रिप्ट होती है। एक प्रोग्रामर होने के नाते (और इसलिए आलसी), मैं देखना चाहता था कि क्या मैं इसे अपस्टार्ट स्क्रिप्ट के माध्यम से स्पिन कर सकता हूं।कई अपस्टार्ट इंस्टेंस स्वचालित रूप से
मैं पता लगा कि कैसे उदाहरण छंद उपयोग करने के लिए, तो मैं उन्हें एक उदाहरण संख्या के साथ शुरू कर सकता है:
description "Async insert workers"
author "Mike Grunder"
env SCRIPT_PATH="/path/to/my/script"
instance $N
script
php $SCRIPT_PATH/worker.php
end script
और यह उन्हें इतना की तरह शुरू करने के लिए महान काम करता है,:
sudo start async-worker N=1
sudo start async-worker N=2
जिस तरह से मैं इन श्रमिकों का उपयोग करना चाहता हूं उनमें से कुछ संख्या (शायद एक प्रति कोर, आदि) को स्पिन करना है, और मैं इसे स्टार्टअप पर करना चाहता हूं। स्पष्ट होने के लिए, मुझे कोर की संख्या का पता लगाने के लिए अपस्टार्ट स्क्रिप्ट की आवश्यकता नहीं है। मुझे बस "उदाहरण 8 उदाहरण" कहने में खुशी है, लेकिन यही कारण है कि मैं कई रनिंग चाहता हूं। क्या यह स्वचालित रूप से ऐसा करने के लिए अपस्टार्ट स्क्रिप्ट में "प्रारंभ करें" खंड का उपयोग करने का कोई तरीका है?
उदाहरण के लिए, उदाहरण 1, 2, 3, 4 शुरू करें? फिर उन्हें शटडाउन पर ठीक से बाहर निकलें?
मुझे लगता है कि मैं इसे init.d स्क्रिप्ट में लगा सकता हूं, लेकिन मैं सोच रहा था कि अपस्टार्ट इस तरह कुछ संभाल सकता है, या अगर किसी ने इस मुद्दे को समझ लिया है।
चीयर्स दोस्तों!
बहुत बहुत धन्यवाद! मैंने इसे इसी तरह से काम करने की कोशिश की, लेकिन मुझे 'टास्क' बिट लापता था, इसलिए लूप का पहला पुनरावृत्ति बस ब्लॉक होगा। बहुत बढ़िया। :) – mkgrunder
आपको http://stackoverflow.com/questions/12084025/restarting-upstart-instance-prcesses भी चेकआउट करना चाहिए जो न केवल कई उदाहरण शुरू करने की अनुमति देता है, बल्कि उन्हें रोक भी देता है। – Evgeny
मैंने प्रलेखन पढ़ा है लेकिन मुझे अभी भी यह नहीं मिला है, यह लूप अपने पहले पुनरावृत्ति में क्यों अवरुद्ध है जब तक कि यह कोई कार्य न हो?/सीसी @ एमकेग्रंडर – Mahn