قابل لاعادة التحميل

الوصف:

bool Worker::$reloadable

عند تشغيل php start.php reload سيتم إرسال إشارة إعادة التحميل (SIGUSR1) إلى جميع العمليات الفرعية.

بعد استقبال العمليات الفرعية لإشارة إعادة التحميل، ستنهي تلقائياً ثم سيقوم العملية الرئيسية تلقائياً بإنشاء عملية جديدة، ويُستخدم بشكل عام لتحديث رمز الأعمال.

عندما يكون خاصية $reloadable لا تساوي true، فإن استقبال إشارة إعادة التحميل سيؤدي إلى تنشيط onWorkerReload فقط، ولن يتم إعادة تشغيل العملية الحالية.

على سبيل المثال، في نموذج البوابة/العامل (Gateway/Worker)، تقوم العملية البوابة بالمسؤولية عن الحفاظ على اتصالات العميل، في حين تقوم العملية الفرعية بمعالجة الطلبات.
إذا قمت بتعيين خاصية إعادة تحميل البوابة كـ false، يمكنك تحديث رمز الأعمال دون قطع اتصالات العميل خلال عملية إعادة التحميل.

مثال:

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

$worker = new Worker('websocket://0.0.0.0:8484');
// تعيين إمكانية إعادة التحميل لهذا المثال
$worker->reloadable = false;
$worker->onWorkerStart = function($worker)
{
    echo "بدء عمل العامل...\n";
};
// تشغيل العامل
Worker::runAll();