[Python] Service with named unix socket controller

延續上次 [Python] Create thread, and receive signal to handle reload, shutdown 的需求,建立一個service,但這次不收signal, 而是改用socket接受reload和stop命令。

幾個重點:
1. 不會因為接收signal而中斷IO
2. 需要建立一個controller (client) 來對service發送指令
3. controller會等service確實執行完動作才退出,不像kill丟了signal就跑。
所以service在應該確保每次check socket之間不超過一定時間,萬一對controller下reload的另一端,有來自front end(UI)的request在等,request可能遇到timeout而被中斷。
4. 建立無檔案socket address,不用建檔砍檔也不用管檔案權限,但是只有Linux可用,MacOSx試過不行....

留言