2010-04-09 4 views
5

पहले बंद - हैलो, यह मेरा पहला स्टैक ओवरफ़्लो प्रश्न है इसलिए मैं सही तरीके से संवाद करने के लिए अपनी पूरी कोशिश करूंगा।लगातार PHP स्क्रिप्ट प्रक्रियाओं को प्रबंधित करने के लिए अनुशंसित तरीका?

मेरे सवाल का शीर्षक थोड़ा अस्पष्ट हो सकता है तो मुझे तुरंत इस पर विस्तार करते हैं:

मैं एक परियोजना शामिल है जो कई "स्ट्रीमिंग" API से डेटा आदानों लेने की योजना बना रहा हूँ, ट्विटर एक उदाहरण है। मेरे पास PHP में एक मूल लिपि कोड है जो कमांड लाइन से अनिश्चित काल तक चलता है, ट्विटर स्ट्रीमिंग एपीआई से इनपुट लेता है और इसके साथ बहुत ही बुनियादी चीजें करता है।

मेरा अंतिम उद्देश्य ऐसी कई प्रक्रियाएं चलाना है (शायद System Daemon पीएआर क्लास का उपयोग करके डिमननाइज्ड), और मैं उन्हें कुछ शासकीय प्रक्रिया (एक PHP स्क्रिप्ट) से प्रबंधित करने में सक्षम होना चाहता हूं। प्रबंधन से मेरा मतलब है कि मूल संचालन जैसे स्टॉप/स्टार्ट और (सबसे महत्वपूर्ण) स्वचालित रूप से क्रैश होने वाली प्रक्रिया को पुनरारंभ करना।

मैं किसी भी पॉइंटर्स की सराहना करता हूं कि इस प्रक्रिया प्रबंधन कोण से कैसे संपर्क किया जाए। दोबारा, क्षमा करें यदि यह प्रश्न बहुत विशाल है - यदि आवश्यक हो तो पूछताछ की अधिक कसकर केंद्रित लाइनों पर सुझावों की सराहना की जाएगी। पढ़ने के लिए धन्यवाद और मैं आपके उत्तरों की प्रतीक्षा कर रहा हूं।

+0

एफवाईआई मैंने प्रक्रियाओं के प्रबंधन के लिए एक पाइथन ऐप "पर्यवेक्षक" स्थापित किया है, और ऐसा लगता है कि मुझे वही करना है! यह [रन php स्क्रिप्ट के रूप में डेमॉन प्रक्रिया के रूप में] से जुड़ा था [http://stackoverflow.com/questions/2036654/run-php-script-as-daemon-process) - पेक्का द्वारा नीचे बताए गए (धन्यवाद फिर से!) । पर्यवेक्षक स्वयं ही यहां पाए जा सकते हैं (http://supervisord.org/)। – BigglesZX

उत्तर

3

मुझे लगता है कि जारी प्रक्रियाओं होने के लिए अनुशंसित तरीका बिल्कुल PHP में यह नहीं कर रहा है;)

लेकिन यहाँ कुछ संबंधित सवाल कर रहे हैं, ऐसा लगता है कि प्रतिक्रिया से कुछ ऐसा करने में कुछ अच्छे विचार और अनुभव होता है ।

अधिक।

+0

यह सुपर है - आपके द्वारा पोस्ट किया गया दूसरा लिंक वास्तव में कई उपयोगी लिंक उत्पन्न करता है! अब शोध आपके सहयोग के लिए धन्यवाद :)। – BigglesZX

2

यह एक लगातार PHP स्क्रिप्ट चल के संदर्भ में काम नहीं करता है, लेकिन Cron अलग अलग समय पर स्क्रिप्ट को चलाने के लिए और अलग अलग अंतराल पर वास्तव में आसान है। लगातार चल रही एक PHP स्क्रिप्ट होने के बजाय, कई अन्य स्क्रिप्ट को रोकना और शुरू करना, आप उन्हें एक उपयुक्त अंतराल पर क्रॉन का उपयोग करके सभी को चला सकते हैं।

+0

आवश्यकताओं के आधार पर, यह एक अच्छा दृष्टिकोण है। आप एक सतत प्रक्रिया की निगरानी के लिए इसका भी उपयोग कर सकते हैं; यदि यह अभी भी चल रहा है तो हर मिनट जांचें और विफल होने पर स्वचालित रूप से पुनरारंभ करें। निर्भर करता है कि आप कितना डाउनटाइम ले सकते हैं, लेकिन यह फीड पढ़ रहा है, फिर हर मिनट ठीक लगता है। –

0

जिस तरह से आप इसे करना चाहते हैं, वह संभव है लेकिन बनाए रखने के लिए जटिल और अपेक्षाकृत कठिन होगा।

यदि आप निरंतर स्टीमिंग के बजाय इसे अलग तरीके से देखते हैं, तो आप नियमित अंतराल पर डेटा में हिस्सा ले सकते हैं। तकनीकी रूप से यह अभी भी स्ट्रीमिंग है, खासकर ट्विटर की तरह फ़ीड के साथ।

यदि कुछ फ़ीड वास्तविक समय में पंप कर रहे हैं, तो आप कुछ डेटा याद कर सकते हैं, तो शायद यह आपके लिए एक विकल्प नहीं है।

प्रक्रियाओं को प्रबंधित करना और बंद करना बहुत आसान है जो डेटा की थोड़ी मात्रा का प्रबंधन करते हैं। वे सभी नियंत्रण डेटा के लिए डेटाबेस की जांच कर सकते हैं और स्थिति अपडेट कर सकते हैं। इसके अलावा, क्रॉन का उपयोग करना एक असली खुशी है।

इस तरह मैं इन दिनों ऐसा करूँगा।

संबंधित मुद्दे

 संबंधित मुद्दे