第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何動態(tài)更改http服務(wù)器的靜態(tài)文件目錄?

如何動態(tài)更改http服務(wù)器的靜態(tài)文件目錄?

Go
呼如林 2022-09-19 17:37:27
我有以下代碼段,它從靜態(tài)文件目錄() 提供靜態(tài)文件:staticFilesDirfor _, prefix := range []string{"css", "img", "js", "static"} {    prefix = "/" + prefix + "/"    fs := http.FileServer(http.Dir(staticFilesDir + prefix))    r.PathPrefix(prefix).Handler(http.StripPrefix(prefix, fs))}此目錄會不時更改,目前我總是需要重新啟動服務(wù)器進(jìn)程才能使用新值。如何在不重新啟動整個過程的情況下重新配置/重新加載 ?FileServer更復(fù)雜的是:http服務(wù)器的其他處理程序正在執(zhí)行長時間運行的作業(yè)(包括子進(jìn)程等),我希望在重新加載期間保持不變。這個非常典型的任務(wù)的標(biāo)準(zhǔn)解決方案是什么?
查看完整描述

1 回答

?
慕村225694

TA貢獻(xiàn)1880條經(jīng)驗 獲得超4個贊

您可以在以下兩者之間添加間接層:


type MyFileServer struct {

   sync.RWMutex

   http.FileServer

}


func (f *MyFileServer) SetDir(dir string) {

    f.Lock()

    defer f.Unlock()

    f.FileServer=http.FileServer(dir)

}



func (f *MyFileServer) ServeHTTP(w http.ResponseWriter,req *http.Request) {

   f.RLock()

   defer f.RUnlock()

   f.FileServer.ServeHTTP(w,req)

}


查看完整回答
反對 回復(fù) 2022-09-19
  • 1 回答
  • 0 關(guān)注
  • 102 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號