उद्देश्य
मेरे मूल उद्देश्य की तरह प्रतिक्रिया गैर अवरोधित करना मोड का इंतजार किए बिना पृष्ठभूमि नौकरियों चल रहा है मैं php बैच नौकरियों चलाने की आवश्यकता है लेकिन मैं Yii2 वेब अनुप्रयोगपीएचपी उत्प्रेरक प्रकार
का उपयोग कर PHP में asynchornous चलाता हासिल करने के लिए है नौकरी करने के लिए ब्राउज़र/क्रॉन में प्रतीक्षा नहीं करना चाहते हैं। काम मैं की तरह
http://myapp/foojob.php
foojob.php अपने आवेदन के विभिन्न फ़ाइल का उपयोग करने एसिंक्रोनस रूप से कई php उदाहरणों फोन किया जाना चाहिए की जरूरत है चल के लिए हाथ में उपलब्ध नौकरियों के आधार पर [प्रत्येक उदाहरण के एक ही काम किया जाता है]। कॉल की समय सीमा (foojob.php) 60sec.i से कम है, यह समय-समय पर मूल्य से अधिक होने से पहले नए PHP उदाहरणों को ट्रिगर करने की आवश्यकता है।
मैं & की कोशिश की
- curl_multi भेजा - मैं could't उस में गैर अवरुद्ध मोड पाते हैं।
- fsock_open - यह कनेक्शन भेजकर संभव है: कॉल के करीब (लेकिन fsock open हमेशा साझा किए गए होस्टिंग सर्वर पर उपलब्ध नहीं है या यह ठीक से काम नहीं कर रहा है)। क्या आप मुझे fsock परिवहन के साथ कोई विश्वसनीय समाधान सुझा सकते हैं?
- pcntl_exec-मैंने वास्तविक समय में कोशिश नहीं की है लेकिन रीयलटाइम आंकड़े बताते हैं कि 45% सर्वर ने फ़ंक्शन को अक्षम कर दिया है। मैं कारण क्यों नहीं जानता।
- स्ट्रीम ट्रांसपोर्ट - मुझे नहीं पता कि यह कैसे काम करता है?
मेरे सवाल:
- गैर अवरुद्ध async अनुरोध करता वहाँ किसी भी संभव समाधान है कि पहले से ही Git में मौजूद है PHP में हासिल करने के लिए है?
- मुझे बताएं कि क्या कोई अन्य ट्रांसपोर्ट मुझे
- पर देखने की आवश्यकता है पर्यावरण पर आधारित कोई स्मार्ट स्विचिंग परिवहन तंत्र (कर्ल/एफएसॉक) है?
संपादित करें:
आवेदन स्वयं के द्वारा होस्ट उत्पाद है। यह विभिन्न होस्टिंग सेवाओं पर काम करेगा। साझा होस्टिंग आपके ग्राहक के लिए किसी बाहरी एक्सटेंशन को अनुमति/प्रदान नहीं करेगा।
आप [php-बचाव] पर एक नज़र था मदद करता है (https://github.com/chrisboulton/php-resque)? –
@old_mountain धन्यवाद। मैंने एक नज़र डाली है इसे रेडिस रेडिस 2.2+ की आवश्यकता है। हमारे मामले के लिए किसी भी कठोर निर्भरता के बिना बेहतर होगा? – Babu
क्या आपने 'ignore_user_abort()' जांच की थी? इसके साथ आप 'नोहुप' का उपयोग कर सकते हैं यदि आपके पास यह काम करने के लिए यूनिक्स बॉक्स हैं। – Gogol