PHP दस्तावेज़ इस पर थोड़ा अस्पष्ट हैं, इसलिए मैं इसे यहां पूछ रहा हूं। इस कार्यकर्ता कोड को देखते हुए:गियरमैन और PHP: एक विफलता वापस भेजने के लिए एक कर्मचारी के लिए उचित तरीका
<?php
$gmworker= new GearmanWorker();
$gmworker->addServer();
$gmworker->addFunction("doSomething", "doSomethingFunc");
while($gmworker->work());
function doSomethingFunc()
{
try {
$value = doSomethingElse($job->workload());
} catch (Exception $e) {
// Need to notify the client of the error
}
return $value;
}
किसी भी त्रुटि के क्लाइंट को सूचित करने का उचित तरीका क्या है? विवरण झूठा है? GearmanJob :: sendFail() का उपयोग करें? यदि यह उत्तरार्द्ध है, तो क्या मुझे sendFail() को कॉल करने के बाद अपने doSomethingFunc() से वापस लौटना होगा? क्या रिटर्न वैल्यू जो कुछ भी भेजता है वह विफल होगा() रिटर्न?
ग्राहक विफलताओं की जांच के लिए गियरमैन क्लाइंट :: रिटर्नकोड() का उपयोग कर रहा है। इसके अतिरिक्त, "रिटर्न $ वैल्यू" का उपयोग करके काम करना प्रतीत होता है, लेकिन क्या मुझे इसके बजाय गियरमैन जॉब :: sendData() या GearmanJob :: sendComplete() का उपयोग करना चाहिए?
यह ध्यान दिया जाना चाहिए कि आप केवल सामान्य कार्यों ('GearmanClient :: do() ') के साथ इस जानकारी को पुनर्प्राप्त कर सकते हैं, पृष्ठभूमि कार्यों' GearmanClient :: doBackground()') नहीं। यह भी देखें: http://stackoverflow.com/a/11631673/664108 –