0
我有一個生產服務器,其中有兩個實例app1和app2,我使用capistrano來部署我的應用程序,即:cap app1 deploy,cap app2 deploy。僅在一個生產實例上運行發條(rails capistrano)
我現在正在配置發條來安排我的延期工作。但是會發生兩次作業,因爲在部署應用程序之後,時鐘作業進程將在app1和app2上運行。
我該如何強制capistrano只在app2上運行發條過程?
感謝您的提示。 米羅斯拉夫
SOLUTION
添加以下設置到deploy.rb:
set :clockwork_role, :clock
,然後配置僅其中一個實例使用角色:時鐘,即:
server 'URL', user: 'deploy', roles: %w{app db web clock}
感謝您的評論faron。我的生產服務器上有一個負載平衡器,它根據服務器容量將用戶指向app1或app2。 app2比app1更強大。我也使用capistrano v3。 – Miroslav
@Miroslav使用布爾配置變量爲您提供建議的解決方案嗎? – faron
是的。我必須將set:clockwork_role,:clock添加到我的deploy.rb文件中,然後僅配置其中一個實例以使用role:clock。謝謝你在那裏指導我。 – Miroslav