您好,登錄后才能下訂單哦!
了解swoole退出的方法?這個問題可能是我們日常學習或工作經常見到的,希望通過這個文章能讓大家收獲頗深,下面是小編給大家帶來的參考內容,讓我們一起來看看吧!
Server->stop
使當前Worker進程停止運行,并立即觸發onWorkerStop回調函數。
function Server->stop(int $worker_id = -1, bool $waitEvent = false);
使用此函數代替exit/die結束Worker進程的生命周期
$waitEvent可以控制退出策略,默認為false表示立即退出,設置為true表示等待事件循環為空時再退出
如果要結束其他Worker進程,可以在stop里面加上worker_id作為參數或者使用swoole_process::kill($worker_pid)
此方法在1.8.2或更高版本可用
$waitEvent在1.9.19或更高版本可用
異步退出
異步服務器在調用stop退出進程時,可能仍然有事件在等待。比如使用了Swoole\MySQL->query,發送了SQL語句,但還在等待MySQL服務器返回結果。這時如果進程強制退出,SQL的執行結果就會丟失了。
設置$waitEvent = true后,底層會使用異步安全重啟策略。先通知Manager進程,重新啟動一個新的Worker來處理新的請求。當前舊的Worker會等待事件,直到事件循環為空或者超過max_wait_time后,退出進程,最大限度的保證異步事件的安全性。
感謝各位看完上述內容,你們對“swoole退出的方法”這篇文章大概了解了嗎?希望文章的內容對大家有所幫助,如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。