reloadable

विवरण:

bool Worker::$reloadable

जब php start.php reload चलाया जाता है, तो यह सभी उप-प्रक्रियाओं को reload सिग्नल (SIGUSR1) भेजता है।

उप-प्रक्रियाएं reload सिग्नल प्राप्त करने के बाद स्वचालित रूप से बाहर निकल जाएंगी, और मुख्य प्रक्रिया एक नया प्रक्रिया स्वचालित रूप से शुरू करेगी, जो आमतौर पर व्यापार कोड को अपडेट करने के लिए उपयोग किया जाता है।

जब प्रक्रिया का $reloadable false हो, तो reload सिग्नल प्राप्त करने पर केवल onWorkerReload ट्रिगर होगा, और वर्तमान प्रक्रिया को पुनः शुरू नहीं किया जाएगा।

उदाहरण के लिए Gateway/Worker मॉडल में gateway प्रक्रिया ग्राहक कनेक्शन को बनाए रखने का कार्य करती है, जबकि worker प्रक्रिया अनुरोध को संभालने का कार्य करती है। यदि gateway प्रक्रिया की reloadable संपत्ति को false पर सेट किया जाता है, तो reload के दौरान ग्राहक कनेक्शन को बाधित किए बिना व्यापार कोड को अपडेट किया जा सकता है।

उदाहरण

use Workerman\Worker;
require_once __DIR__ . '/vendor/autoload.php';

$worker = new Worker('websocket://0.0.0.0:8484');
// यह निर्दिष्ट करें कि इस उदाहरण को reload सिग्नल प्राप्त करने पर पुनः शुरू करना है या नहीं
$worker->reloadable = false;
$worker->onWorkerStart = function($worker)
{
    echo "Worker starting...\n";
};
// worker चलाएँ
Worker::runAll();