2010-05-02 44 views
9

我見過構建配方supervisor進入構建,我想控制裏面的守護進程。然而,在我看來,仍然需要/etc/init.d(例如)在啓動時運行所述管理實例。爲什麼會在buildout內建立supervisord?

那麼,爲什麼要在構建中構建主管?爲什麼不把它安裝在系統範圍內,只需爲涉及到的守護進程創建一個配置文件?

回答

9

當我們爲客戶創建構建時,我們希望構建可以在任意託管環境中運行,而且依賴性最小,所有這些都可以通過系統包滿足。通過在構建中包含supervisord,我們不再需要將其安裝在系統範圍內,而且可以精細地調整它的參數,而不必讓系統管理員爲我們更改設置。

這很容易讓上司在啓動時從擴建到運行,使用usercrontab配方:

[supervisor-cron] 
recipe = z3c.recipe.usercrontab 
times = @reboot 
command = ${buildout:bin-directory}/supervisord -c ${buildout:directory}/etc/supervisord.conf 

以上的部分將增加,導致主管在啓動時運行的crontab的條目。

+1

完全同意。運行管理員的@reboot cronjob意味着零維護設置。很棒。 – 2010-05-02 18:11:27

+0

*爲自己忘記crontab * 我很清楚它爲什麼完成,我也完全同意。 謝謝。 – chiggsy 2010-05-02 22:00:11

+0

當你*不想這樣做時,問題就變成了,並且想要一個只是吐出有效主管程序配置9的配方。我還沒有找到這樣的配方。 – 2014-02-05 06:40:05