2011-08-03 10 views
5

मैं php में gearman pecl एक्सटेंशन का उपयोग कर रहा हूं, और फ़ंक्शन कॉल के लिए टाइमआउट करना चाहता हूं। दो उपयोग के मामले: (1) कोई रनिंग श्रमिक नहीं, (2) कार्यकर्ताphp GearmanClient timeout

यदि सब कुछ चल रहा है, तो कॉल बहुत तेज है, और मैं इस टाइमआउट के लिए ओवरहेड से बचना चाहता हूं।

कोड मैं वर्तमान में उपयोग करें:

$client = new GearmanClient(); 
$client->addServer(); 
$client->do('nonexistingfunction'); 
+0

मैं एक संबंधित लेकिन थोड़ा और अधिक जटिल उपयोग के मामले में है, तो एक नया सवाल पूछा है यहां: https://stackoverflow.com/questions/49036819/get-response-from-multiple-jobs-in-gearman-but-abort-after-a-timeout/49049263 – IMSoP

उत्तर

0

बस मिलीसेकेंड की संख्या के साथ GearmanClient::setTimeout विधि कॉल प्रतीक्षा करने के लिए:

$client = new GearmanClient(); 
$client->addServer(); 
$client->setTimeout(5000); 
+3

मुझे लगता है कि यह I/O संचार के लिए टाइमआउट गियरमैन डीमॉन के साथ और मेरी समस्या से मदद नहीं करेगा। –