我司產(chǎn)品這邊線上已經(jīng)使用webman開發(fā)產(chǎn)品,穩(wěn)定性能表現(xiàn)非常優(yōu)越,先實(shí)名表揚(yáng)一下。
現(xiàn)在運(yùn)維K8S部署要求webman需要做配置熱重載,每次從配置中心修改.env配置以后,webman需要自動(dòng)加載最新的配置。
請(qǐng)問一下webman是否能夠?qū)崿F(xiàn)對(duì).env的監(jiān)聽重載?感激不盡!
我現(xiàn)在想到一個(gè)解決方案就是:
開一個(gè)http服務(wù)接口,然后在接口代碼里面執(zhí)行
exec('php start.php reload');
不知道這樣是否可行?會(huì)不會(huì)出現(xiàn)問題?目前測(cè)試是可以reload服務(wù)
運(yùn)行 posix_kill(posix_getppid(), SIGUSR1); ,意思是給當(dāng)前進(jìn)程的父進(jìn)程發(fā)送SIGUSR1信號(hào)讓其執(zhí)行reload
@1:測(cè)試了一下,修改.env里面的數(shù)據(jù)庫(kù)名,好像并未生效。我隨便配置了一個(gè)不存在的庫(kù),但是接口還是以前的正確數(shù)據(jù)。忘了說一下情況就是webman在容器里是debug模式運(yùn)行的,并未常駐內(nèi)存運(yùn)行。因?yàn)檫\(yùn)維要求進(jìn)程要卡主,否則容器會(huì)自動(dòng)認(rèn)為這個(gè)服務(wù)已經(jīng)掛了!不知道這個(gè)有影響不
如果執(zhí)行 posix_kill(posix_getppid(), SIGUSR1);的進(jìn)程與webman不是共同的主進(jìn)程,則沒有效果。
測(cè)試下在終端執(zhí)行 php start.php reload 是否可以加載 新的.env