2010-09-01 10 views
5

के माध्यम से PHP कंसुरेंसी मेरे पास कुछ स्क्रिप्ट हैं जिन्हें अलग-अलग प्रक्रियाओं के साथ एक साथ चलाने की आवश्यकता है। मेरी योजना एक क्रॉन नौकरी है जो एक सेट अंतराल पर इन स्क्रिप्ट के कई उदाहरण निष्पादित करती है। यह एक अच्छा विचार है? इस दृष्टिकोण के लिए पेशेवर/विपक्ष क्या हैं? क्या मुझे कोई अन्य विकल्प विचार करने की ज़रूरत है?क्रोन

नीचे की ओर: मैं multithreading नकल करने की कोशिश कर रहा हूँ। किसी भी दौड़ की स्थिति कोड के माध्यम से संभाली जाएगी (उदाहरण के लिए डीबी, आदि में सेटिंग की स्थिति)। स्क्रिप्ट को गहन कार्यों को प्रसंस्करण करना होता है (उदाहरण के लिए थंबनेल बनाना आदि)।

उत्तर

5

आप फोर्किंग का उपयोग कर सकते हैं। स्टार्टअप स्क्रिप्ट सभी डिफ़ॉल्ट कॉन्फ़िगरेशन और प्रारंभिकताओं को लोड करेगी, फिर प्रसंस्करण करने के लिए कांटा बाल प्रक्रियाएं। यह तब प्रक्रियाओं की निगरानी कर सकता है ताकि वे यह देख सकें कि वे अभी भी चल रहे हैं या नहीं। http://php.net/manual/en/function.pcntl-fork.php

0

क्या PHP में fork() नहीं है? हालांकि यह वास्तव में बहुसंख्यक नहीं है, यह सह-दिनचर्या का एक मूल तरीका है।

2

ठीक है, अगर आपको इसे क्रोनबॉज के रूप में चाहिए, तो आगे बढ़ें। यदि आप कई प्रक्रियाओं को चाहते हैं, तो संभवतः आप उसी स्क्रिप्ट के कई उदाहरण बनाने के लिए pcntl_fork का उपयोग करना चाहते हैं।

1

इस बात पर निर्भर करता है कि आप उन नौकरियों पर कितनी जल्दी प्रतिक्रिया करना चाहते हैं और यदि आप प्रोसेसर गहन कार्यों को देखना चाहते हैं तो आप क्यूइंग सिस्टम का उपयोग करके उस प्रसंस्करण को भी फैल सकते हैं। यदि आपके पास एकाधिक कोर/प्रोसेसर हैं तो प्रति मशीन एकाधिक श्रमिकों के साथ Gearman या beanstalkd देखें।

0

क्रॉन का उपयोग करने का एक कंस यह है कि यह आपके द्वारा निर्धारित अंतराल पर आपकी स्क्रिप्ट की एक प्रति निष्पादित करेगा, चाहे कितनी स्क्रिप्ट प्रक्रियाएं पहले से चल रही हैं। इसका मतलब है कि स्क्रिप्ट को एक-दूसरे के साथ संवाद करने का एक तरीका चाहिए ताकि अधिकतम एन स्क्रिप्ट एक साथ चल रहे हों (अतिरिक्त स्क्रिप्ट तुरंत बाहर निकल सकते हैं)।

क्रॉन का एक विकल्प supervisord हो सकता है जो स्क्रिप्ट की कॉन्फ़िगर करने योग्य संख्या निष्पादित करेगा और प्रत्येक को मॉनिटर करेगा ताकि किसी भी बाहर निकलने के लिए राहत मिल सके।

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