2012-07-16 7 views
14

मैं Supervisord कार्यक्रम अनुभाग में वातावरण चरों का उपयोग, और वे ठीक काम करते हैं:मैं पर्यवेक्षक के [पर्यवेक्षक] कॉन्फ़िगरेशन अनुभाग में पर्यावरण चर का उपयोग कैसे करूं?

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

मैं कैसे [supervisord] अनुभाग में भी ऐसा ही करने हालांकि को समझ नहीं सकता।

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' 

वहाँ कि प्राप्त करने के लिए एक रास्ता है: मैं के साथ या बिना ENV_ उपसर्ग ही सिंटैक्स का उपयोग, लेकिन हो रही निम्न त्रुटि की कोशिश की?

उत्तर

9

पर्यवेक्षक केवल सीमित संख्या में स्थानों में पर्यावरण चर के साथ विस्तार का समर्थन करता है, जिनमें से प्रत्येक को configuration documentation में दस्तावेज किया गया है।

दुर्भाग्यवश, [supervisord]directory विकल्प उनमें से एक नहीं है; यह केवल %(here) चर का समर्थन करता है, और कुछ भी नहीं।

यदि आप यह आपके लिए एक महत्वपूर्ण मुद्दा है तो आप supervisord issue tracker में इसके लिए एक फीचर अनुरोध दर्ज कर सकते हैं।

मेरी परियोजनाओं में, हम आमतौर पर तैनाती और विकास पर्यावरण सेटअप अनुमानित और दोहराने योग्य बनाने के लिए zc.buildout का उपयोग करते हैं, और टेम्पलेट से पर्यवेक्षक कॉन्फ़िगरेशन उत्पन्न करते हैं। इस कार्य को आसान बनाने के लिए specialized buildout recipe है।

+0

धन्यवाद, मार्टिजन। स्पष्ट रूप से [पर्यवेक्षक समस्या ट्रैकर] (https://github.com/Supervisor/supervisor/issues/126) – syoavc

+0

में पहले से ही एक सुविधा अनुरोध खुला है; तो वहां है; सुविधा की उपयोगिता को स्पष्ट करने के लिए, आप शायद अपने विशिष्ट उपयोग-मामले के साथ एक टिप्पणी छोड़ सकते हैं। –

+0

सुविधा जून 2014 से विलय कर दी गई है; दिलचस्प बात यह है कि रिलीज 3.2 जारी नहीं किया गया है और यह पिछले रिलीज के बाद से एक साल रहा है। – tutuDajuju

संबंधित मुद्दे