2
我正在將一個線性處理系統轉換爲Gearman,但我實際上並沒有在生產環境中部署Gearman。版本控制員工
對於推送源代碼的新版本(Staging,Dark launch,A/B),我們有一個部署鏈,但由於Gearman工作人員與主應用程序完全分離,我們如何升級它們?
有一對夫婦的浮現在腦海中的選項,他們都不是完美的:
- 版本控制源代碼,正常關機環境升級
- 在其功能上註冊的名稱版本的工人,
ResizeFunction-v1.3
- 將版本號添加到工作人員中,並將其附加到工作中,以便如果工作人員不應處理該工作人員,則可以退出並讓其他人處理它。
理想的情況下,我可以處理工作代碼的更新,而不用擔心老客戶端代碼中的作業會被不兼容的工作人員拿走,從而順利進行版本升級。
我想語義版本將適用於此處(v1.0.0
- Major.minor.patch,主要將打破API的兼容性,輕微增加了新的功能,和補丁修復的bug)
您是否需要運行「傳統」工作人員,還是僅僅讓他們升級而不麻煩? – Wrikken
我必須仍然使用舊代碼運行這些工作人員,以便他們可以處理來自'尚未升級'的服務器的作業 –
嗯,這不是我已經有過的解決方案:)。但是我想給'整個gearman服務器'版本。這意味着新版本會得到一個新的守護進程和一個新的端口。任何使用新版本的人都知道新的端口號。 – Wrikken