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();