国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

生產(chǎn)環(huán)境,如何發(fā)布更新?

evilk

以前php-fpm,都是直接發(fā)布代碼,沒有其他顧慮
現(xiàn)在用webman,線上環(huán)境,如何更新呢?

1.
如果直接 php start.php restart -d,會造成請求中斷嗎?
比如,某一個worker進(jìn)程,正在處理請求,這時候直接 restart,會中斷請求嗎?

2.
redis隊列,消費者正在消費消息,這個時候更新,這條消息是不是就沒有了?
所以這種情況,專業(yè)的MQ,有ack機(jī)制,就能避免這種情況的發(fā)生?

3.
如果只用一臺服務(wù)器運行webman,應(yīng)該如何發(fā)布更新呢?
有沒有思路可以提供一下

2519 3 4
3個回答

Mr_Deng
  • 暫無評論
walkor 打賞

1、如果直接 php start.php restart -d,會造成請求中斷嗎?

框架會等待業(yè)務(wù)執(zhí)行完畢關(guān)閉進(jìn)程,所以正常情況下不會中斷請求。但是如果進(jìn)程收到停止命令后業(yè)務(wù)超過2秒還沒有結(jié)束會被強(qiáng)行殺死,強(qiáng)行殺死進(jìn)程時會造成請求中斷。

2、redis隊列,消費者正在消費消息,這個時候更新,這條消息是不是就沒有了?

同上,redis隊列沒有ack機(jī)制,如果消費慢超過2秒可能發(fā)生restart 可能導(dǎo)致消費中斷,消息丟失。
專業(yè)的MQ,有ack機(jī)制,可避免。

更改業(yè)務(wù)代碼reload即可,不需要restart。
如果更新vendor里的庫,需要restart。

  • evilk 2022-04-12

    老大,這個2秒,是否可以自定義
    因為很多時候,進(jìn)程不一定能在2秒內(nèi)處理完,從而響應(yīng)主進(jìn)程的指令
    如果,可以根據(jù)具體的業(yè)務(wù)情況,自定義這個2秒,比如設(shè)置為10秒
    這樣,就可以避免強(qiáng)行殺死進(jìn)程,造成數(shù)據(jù)丟失的情況
    這樣的話,在線上,直接 restart 或者 reload,就更好了

  • walkor 2022-04-12

    下個workerman版本支持自定義

  • evilk 2022-04-12

    謝謝老大
    多問已經(jīng),下個workerman版本,大概什么時候上

  • walkor 2022-04-12

    時間不定,你先手動改下吧 KILL_WORKER_TIMR_TIME

evilk

截圖
就是這個數(shù)值

  • 暫無評論
年代過于久遠(yuǎn),無法發(fā)表回答
??