onWorkerReload
आवश्यक (workerman >= 3.2.5)
विवरण:
callback Worker::$onWorkerReload
यह विशेषता बहुत अधिक उपयोग में नहीं आती।
Worker को reload सिग्नल मिलने पर निष्पादित होने वाला कॉलबैक सेट करें।
onWorkerReload कॉलबैक का उपयोग कई चीजें करने के लिए किया जा सकता है, जैसे कि बिना प्रक्रियाओं को फिर से शुरू किए व्यापार कॉन्फ़िगरेशन फ़ाइलों को फिर से लोड करना।
ध्यान दें:
सहित प्रक्रियाओं को reload सिग्नल मिलने पर डिफ़ॉल्ट क्रिया फिर से शुरू होने की होती है, ताकि नए प्रक्रिया व्यापार कोड को नए कोड अपडेट को पूरा करने के लिए फिर से लोड कर सके। इसलिए reload के बाद, शामिल प्रक्रियाओं का onWorkerReload कॉलबैक निष्पादित करने के तुरंत बाद बाहर जाना एक सामान्य घटना है।
यदि आपको reload सिग्नल मिलने के बाद केवल शामिल प्रक्रियाओं को onWorkerReload निष्पादित करना है और बाहर नहीं जाना है, तो Worker उदाहरण को प्रारंभ करते समय संबंधित Worker उदाहरण की reloadable गुण को false पर सेट करें।
कॉलबैक फ़ंक्शन के पैरामीटर
$worker
यह Worker ऑब्जेक्ट है
उदाहरण
use Workerman\Worker;
require_once __DIR__ . '/vendor/autoload.php';
$worker = new Worker('websocket://0.0.0.0:8484');
// reloadable को false पर सेट करें, अर्थात् शामिल प्रक्रियाएँ reload सिग्नल मिलने पर पुनः प्रारंभ नहीं करती
$worker->reloadable = false;
// reload के बाद सभी क्लाइंट को बताएं कि सर्वर ने reload किया है
$worker->onWorkerReload = function(Worker $worker)
{
foreach($worker->connections as $connection)
{
$connection->send('worker reloading');
}
};
// वर्कर चलाएं
Worker::runAll();
सूचना: अनाम फ़ंक्शन का उपयोग करते समय कॉलबैक के रूप में, आप यहाँ देखें अन्य कॉलबैक लेखन विधियों का भी उपयोग कर सकते हैं।