onWorkerReload
ต้องการ (workerman >= 3.2.5)
คำอธิบาย:
callback Worker::$onWorkerReload
คุณสมบัตินี้ไม่ได้ใช้บ่อย ๆ
ตั้งค่าการเรียกคืนหลังจาก Worker ได้รับสัญญาณ reload
คุณสามารถใช้งาน onWorkerReload callback เพื่อทำสิ่งมากมาย เช่น โหลดไฟล์ตั้งค่าธุรกิจใหม่โดยไม่ต้องรีสตาร์ตกระบวนการ
โปรดทราบ:
พฤติกรรมที่เป็นค่าเริ่มต้นสำหรับกระบวนการย่อยหลังจากได้รับสัญญาณ reload คือ การออกและรีสตาร์ตเพื่อง่ายต่อกระบวนการใหม่ที่จะโหลดโค้ดธุรกิจเพื่อการปรับปรุงโค้ด ดังนั้นหลังจากที่กระบวนการย่อยแสดงคำเตือนดำเนินการออกจาก workerman. หลังจากการเรียกคืนหลังจาก Worker ทำ callback แล้ว จะทำการออกทันทีคือสิ่งปกติ
หากต้องการให้กระบวนการย่อยทำการ callback หลังจากได้รับสัญญาณ reload และไม่ต้องการออก สามารถตั้งค่า reloadable property ของ Worker instance ที่เกี่ยวข้องเป็น false ได้
พารามิเตอร์ของฟังก์ชัน callback
$worker
สิ่งนี้คือว่าเครื่องเซิฟเวอร์
ตัวอย่าง
use Workerman\Worker;
require_once __DIR__ . '/vendor/autoload.php';
$worker = new Worker('websocket://0.0.0.0:8484');
// ตั้งค่า reloadable เป็นเท็จ หมายความว่ากระบวนการย่อยที่ได้รับสัญญาณ reload จะไม่ทำการรีสตาร์ต
$worker->reloadable = false;
// หลังจากที่มีการรีโหลแล้วบอกลูกค้าทุกคนว่ามีการรีโหล
$worker->onWorkerReload = function(Worker $worker)
{
foreach($worker->connections as $connection)
{
$connection->send('worker reloading');
}
};
// รันเซิฟเวอร์
Worker::runAll();
เรียกใช้ฟังก์ชันอนามัยเป็น callback แทนการใช้ฟังก์ชันอื่น ๆ สามารถเข้าถึงได้ที่นี่บ้าง:ที่นี่