2012-07-16 119 views
14

我使用環境變量在Supervisord的程序段,他們的工作只是罰款:如何在Supervisord的[supervisord]配置節中使用環境變量?

[program:some_prog] 
command=%(ENV_env_var_name)s/... 

我無法弄清楚如何雖然做同樣的[supervisord]部分。 我試圖使用相同的語法與不ENV_前綴,但得到以下錯誤:

Traceback (most recent call last): 
    File "/usr/local/bin/supervisord", line 9, in <module> 
    load_entry_point('supervisor==3.0a12', 'console_scripts', 'supervisord')() 
    File "/usr/local/lib/python2.7/dist-packages/supervisor-3.0a12-py2.7.egg/supervisor/supervisord.py", line 356, in main 
    options.realize(args, doc=__doc__) 
    File "/usr/local/lib/python2.7/dist-packages/supervisor-3.0a12-py2.7.egg/supervisor/options.py", line 419, in realize 
    Options.realize(self, *arg, **kw) 
    File "/usr/local/lib/python2.7/dist-packages/supervisor-3.0a12-py2.7.egg/supervisor/options.py", line 284, in realize 
    self.process_config_file() 
    File "/usr/local/lib/python2.7/dist-packages/supervisor-3.0a12-py2.7.egg/supervisor/options.py", line 478, in process_config_file 
    Options.process_config_file(self, do_usage=do_usage) 
    File "/usr/local/lib/python2.7/dist-packages/supervisor-3.0a12-py2.7.egg/supervisor/options.py", line 292, in process_config_file 
    self.read_config(self.configfile) 
    File "/usr/local/lib/python2.7/dist-packages/supervisor-3.0a12-py2.7.egg/supervisor/options.py", line 527, in read_config 
    section.directory = existing_directory(directory) 
    File "/usr/local/lib/python2.7/dist-packages/supervisor-3.0a12-py2.7.egg/supervisor/datatypes.py", line 336, in existing_directory 
    nv = v % {'here':here} 
KeyError: 'var_name' 

有沒有辦法做到這一點?

回答

9

主管只支持在有限數量的位置使用環境變量進行擴展,每個位置都記錄在configuration documentation中。

不幸的是,[supervisord]directory選項不是其中之一;它只支持%(here)變量,沒有別的。

如果這對您來說是一個重要問題,您可以在supervisord issue tracker中爲此提出功能請求。

在我的項目中,我們通常使用zc.buildout來使部署和開發環境設置可預測和可重複,並從模板生成監控器配置。有一個specialized buildout recipe使這個任務更容易。

+0

謝謝Martijn。顯然已經有一個功能請求在[supervisord問題跟蹤器]中打開(https://github.com/Supervisor/supervisor/issues/126) – syoavc 2012-07-17 12:08:47

+0

所以有;您可以對您的具體使用情況留言,以說明該功能的實用性。 – 2012-07-17 12:17:37

+0

該功能自2014年6月起合併;有趣的是,3.2版尚未發佈,距離上次發佈還有一年時間。 – tutuDajuju 2015-10-16 12:57:55