Fabric: कार्य स्तर पर छिपाना ('चलना') टूट गया है

को निर्मित 25 अग॰ 2011  ·  9टिप्पणियाँ  ·  स्रोत: fabric/fabric

1) यह 'एग्जीक्यूटिंग टास्क ...' जैसी चीजें छिपाता नहीं है
2) यह पिछले आउटपुट से नए सिरे को हटाता है, इस प्रकार आउटपुट की अगली पंक्ति में शामिल होता है

फैबाइल है:
@ टस्क
def show_hostname ():
सेटिंग्स के साथ (छिपाने ('चल रहा है)):
रन ('होस्टनाम')
भागो ('तारीख')

% /opt/python-2.7/bin/fab -f output.py -H X1, x2 show_hostname
[X1] निष्पादन कार्य 'show_hostname'
[X1] आउट: X1mydomain.de
[X1] आउट: [X1] आउट: Thu Aug 25 10:34:10 CEST 2011
[X1] आउट: [x2] एक्ज़ेक्यूटिंग टास्क 'show_hostname'
[x2] बाहर: x2.mydomain.de
[x2] आउट: [x2] आउट: थू अगस्त २५ 10:34:11 CEST २०११
[x2] बाहर:
किया हुआ।

और जब हम उस पर हैं:

3) रन ('hostname') उदाहरण के लिए हमेशा एक खाली लाइन को आउटपुट देता है जैसे:

[h1] निष्पादन कार्य 'show_hostname'
[h1] बाहर: h1.mydomain.de
[h1] बाहर:

3) उद्देश्य से है और क्या 1,2 समस्याएं उस खाली लाइन से आ रही हैं?

धन्यवाद,
स्वेन

सबसे उपयोगी टिप्पणी

  • कैसे भी "छिप गया।" पूरा होने के बाद मुद्रित
  • कैसे "my.server.com से डिस्कनेक्ट किया जा रहा है ..." भी छिपाएँ?

यह उपयोगी होगा यदि मैं सभी को अक्षम कर सकता हूं (वास्तव में सभी) आउटपुट को छोड़कर जो मैं स्पष्ट रूप से प्रिंट करता हूं, जब कोई समस्या होती है।

सभी 9 टिप्पणियाँ

यदि आप कपड़े को देखते हैं। मुख्य: मुख्य , आप देखेंगे 'निष्पादित' होता है _outside_ कार्य, यही कारण है कि यह छिपा हुआ नहीं है। एक काम के रूप में (वैश्विक!) आप fabric.state.output ['रनिंग'] = गलत सेट कर सकते हैं, या --hide = में पास कर सकते हैं।

ग्रेग सही है: निष्पादित करना - जब "निष्पादन" लाइनें मुद्रित होती हैं, तो इसकी वैश्विक सेटिंग की आवश्यकता होती है - हालांकि मैं स्वीकार करता हूं कि यह बहुत सहज नहीं है और काश इसके आसपास एक बेहतर तरीका होता। (मैं नई शैली के कार्यों के लिए इसे करने का एक तरीका सोच सकता हूं, लेकिन निश्चित रूप से यह दो प्रकारों के बीच व्यवहार में अंतर को बढ़ाने के लायक नहीं है, इस समय ...)

stdout ब्लॉक के अंत में Newlines उद्देश्य पर हैं, IIRC, हालांकि मैं याद नहीं कर सकता कि क्या हम उन्हें स्पष्ट रूप से सम्मिलित कर रहे हैं या यदि यह वास्तव में दूरस्थ छोर से है (और बस एक नई पंक्ति उपसर्ग ट्रिगर कर रहा है।) ... मुझे नहीं लगता कि यह बग_पर से_ है।

"लापता" नई रूपरेखा संबंधित हो सकती है - मुझे दोहरी जांच करनी होगी। ऐसी स्थिति हो सकती है जहां यह एक या दूसरे तरीके से बदसूरत लग रहा था और हमें कुरूपता को कम सामान्य मामले में स्थानांतरित करना पड़ा।

क्या इस बग / UI असंगतता पर कोई अपडेट है? मैं कपड़े के माध्यम से एक फ़ाइल को पूंछने की कोशिश कर रहा हूं, और उन "[hostname]" आउटपुट को मास्क करना बहुत अच्छा होगा।

मैंने fabric.state.output['running'] = False कोशिश की, कुछ भी नहीं बदला।

@charlax आप fab --hide=running उपयोग कर सकते हैं और यह रन के बहुत शुरुआत से उस आउटपुट स्तर को फ्लिप कर देगा, इसलिए इसे सभी 'रनिंग टास्क x' सामान को छुपाना चाहिए जो कि अंदर के कार्यों से खुद को छिपाने योग्य नहीं है। मुझे यकीन नहीं है कि मैंने पहले टिप्पणी में इसका उल्लेख क्यों नहीं किया।

आपको अपने फ़ैबाइल में मॉड्यूल (शीर्ष) स्तर पर उस fabric.state.output आपके द्वारा उल्लिखित परिवर्तन करने में सक्षम होना चाहिए - जब आपने प्रयास किया था तो वास्तव में आपने इसे कहाँ रखा था? यदि यह किसी कार्य के अंदर है तो भी यह काम नहीं करेगा।

ओह ठीक है, वास्तव में मैं जो करने की कोशिश कर रहा हूं वह [host.com] out: हिस्सा छिपा है, गलतफहमी के लिए खेद है।

अर्थ _ अन्याय_ रेखा का वह भाग? इसके लिए एक निजी कॉन्फिग सेटिंग है, लेकिन मैं यह नहीं देखता कि फैब 2.0 के बाहर आने से पहले बदलना, इसलिए मैं आपको इस रहस्य से रूबरू कराऊंगा: यह env.output_prefix , इसे गलत पर सेट करें और बस कोई लाइन उपसर्गों के साथ शाब्दिक stdout / stderr प्रिंट करें।

धन्यवाद!

@Hosts () डेकोरेटर की तरह लगता है कि यह अक्षमता के लिए मजबूर किए बिना रनिंग आउटपुट के 'होस्ट' भाग को छिपाना संभव बनाता है

fabric.state.output['running']

विश्व स्तर पर। यह एक विधि के लिए env.hosts को ओवरराइड करने की अनुमति देगा जो कि यह करने के लिए है। ऐसा लगता है कि इसे env.hosts के रूप में व्यवहार करना चाहिए ताकि इसे एक खाली पुनरावृत्त (या कोई भी) पर सेट न किया जाए, जिससे स्थानीय_सामान्य निष्पादन को ट्रिगर किया जाए जो होस्ट को प्रिंट नहीं करेगा। वर्तमान में, @hosts में एक खाली

  • कैसे भी "छिप गया।" पूरा होने के बाद मुद्रित
  • कैसे "my.server.com से डिस्कनेक्ट किया जा रहा है ..." भी छिपाएँ?

यह उपयोगी होगा यदि मैं सभी को अक्षम कर सकता हूं (वास्तव में सभी) आउटपुट को छोड़कर जो मैं स्पष्ट रूप से प्रिंट करता हूं, जब कोई समस्या होती है।

क्या यह पृष्ठ उपयोगी था?
0 / 5 - 0 रेटिंग्स