請(qǐng)問平滑重啟即時(shí)我修改了業(yè)務(wù)代碼后,在不需要加載vendor目錄的新依賴情況下只需要
php start.php reload 進(jìn)行重啟即可嗎?看了文檔不是很理解只有放在on{...}回調(diào)中的文件平滑重啟才生效這句話。
換種說(shuō)法,Worker::runAll();執(zhí)行后,動(dòng)態(tài)載入的文件支持reload。Worker::runAll();執(zhí)行前已經(jīng)加載到內(nèi)存的文件不支持reload。
例如下面這段代碼不支持reload
$worker = new Worker('websocket://127.0.0.1:9090');
$worker->onMessage = function($con, $data) {
$con->send('hello');
}
Worker::runAll();
下面這段代碼app.php里的代碼支持reload
$worker = new Worker('websocket://127.0.0.1:9090');
$worker->onWorkerStart = function() {
require 'app.php';
$worker->onMessage = 'app_message';
}
Worker::runAll();
app.php
<?php
function app_message($con, $data) {
$con->send('hi');
}