Fabric: تم كسر إخفاء ("قيد التشغيل") على مستوى المهمة

تم إنشاؤها على ٢٥ أغسطس ٢٠١١  ·  9تعليقات  ·  مصدر: fabric/fabric

1) لا يخفي أشياء مثل "تنفيذ المهمة ..."
2) يزيل الأسطر الجديدة من الإخراج الأخير ، وبالتالي ينضم إلى سطر الإخراج التالي

fabfile هو:
@مهمة
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] خارج: الخميس 25 أغسطس 10:34:10 بتوقيت وسط أوروبا الصيفي 2011
[x1] إخراج: [x2] تنفيذ المهمة "show_hostname"
[x2] خارج: x2.mydomain.de
[x2] خارج: [x2] خارج: الخميس 25 أغسطس 10:34:11 بتوقيت وسط أوروبا الصيفي 2011
[x2] خارج:
منجز.

وأثناء وجودنا فيه:

3) تشغيل ('hostname') على سبيل المثال دائمًا ما ينتج سطرًا فارغًا مثل:

[h1] تنفيذ المهمة "show_hostname"
[h1] خارج: h1.mydomain.de
[h1] خارج:

هو 3) عن قصد وهل 1،2 مشكلة تأتي من هذا الخط الفارغ؟

شكرا،
سفين

Bug UI

التعليق الأكثر فائدة

  • كيفية إخفاء "تم". طبع بعد الانتهاء؟
  • كيف تخفي أيضًا "تم قطع الاتصال من my.server.com ... تم."؟

سيكون من المفيد إذا كان بإمكاني فقط تعطيل إخراج ALL (فعليًا كل شيء) باستثناء ما أطبعه صراحةً ، إلا في حالة وجود مشكلة.

ال 9 كومينتر

إذا نظرت إلى القماش. main: الرئيسي ، سترى أن "التنفيذ" يحدث خارج المهمة ، ولهذا السبب لم يتم إخفاؤها ، عن طريق الإخفاء. كحل بديل (عالمي!) يمكنك تعيين fabric.state.output ['running'] = False أو تمرير - إخفاء = تشغيل.

جريج محق في إعادة التنفيذ - يجب أن يكون إعدادًا عالميًا نظرًا لوقت طباعة سطور "التنفيذ" - على الرغم من أنني أقر بأنه ليس بديهيًا بشكل رائع وأتمنى وجود طريقة أفضل للتغلب عليه. (يمكنني التفكير في طريقة واحدة للقيام بذلك لمهام ذات نمط جديد ، لكن لست متأكدًا من أنها تستحق زيادة الاختلافات في السلوك بين النوعين ، في الوقت الحالي ...)

توجد أسطر جديدة في نهاية كتل stdout عن قصد ، IIRC ، على الرغم من أنني لا أستطيع أن أتذكر ما إذا كنا نقوم بإدراجها بشكل صريح أو ما إذا كانت بالفعل من الطرف البعيد (وتقوم فقط بتشغيل بادئة سطر جديدة). لا أعتقد أنه خطأ في حد ذاته.

قد تكون الأسطر الجديدة "المفقودة" مرتبطة - سأضطر إلى التحقق مرة أخرى. قد يكون موقفًا سيبدو فيه قبيحًا بطريقة أو بأخرى وكان علينا تحويل القبح إلى الحالة الأقل شيوعًا.

هل هناك أي تحديث لهذا الخطأ / عدم اتساق واجهة المستخدم؟ أحاول إنشاء ملف عن طريق النسيج ، وسيكون من الرائع إخفاء إخراج "[hostname]".

حاولت fabric.state.output['running'] = False ، لم يتغير شيء.

charlax يمكنك استخدام fab --hide=running وسيؤدي ذلك إلى قلب مستوى الإخراج هذا بعيدًا عن بداية التشغيل ، لذلك يجب أن يخفي جميع عناصر "المهمة قيد التشغيل x" التي لا يمكن إخفاؤها من داخل المهام نفسها. لست متأكدًا من سبب عدم ذكر هذا في التعليق السابق.

يجب أيضًا أن تكون قادرًا على إجراء هذا التغيير fabric.state.output الذي ذكرته ، على مستوى الوحدة النمطية (أعلى) في ملف fabfile الخاص بك - أين وضعته بالضبط عندما حاولت؟ إذا كانت داخل مهمة ، فلن تعمل.

حسنًا ، ما أحاول فعله في الواقع هو إخفاء الجزء [host.com] out: ، آسف لسوء الفهم.

المعنى _ just_ هذا الجزء من الخط؟ هناك إعداد تكوين خاص لذلك ، لكنني لا أرى أنه يتغير قبل إصدار fab 2.0 ، لذلك سأسمح لك بالدخول سرًا: إنه env.output_prefix ، اضبطه على False وسيحدث فقط طباعة stdout / stderr حرفيًا بدون بادئات سطر.

شكرا!

يبدو أن مصمم الديكورhosts () يجعل من الممكن إخفاء جزء "المضيف" من الإخراج الجاري دون فرض تعطيل

fabric.state.output['running']

عالميا . سيسمح هذا بتجاوز مضيف البيئة لطريقة واحدة وهو ما يُفترض القيام به. يبدو أنه يجب أن يتصرف مثل env.hosts في هذا الإعداد على مكرر فارغ (أو لا شيء) يجب أن يؤدي إلى تنفيذ local_only الذي لن يطبع المضيف. حاليًا ، يتم تجاهل مكرر فارغ في hosts ويعود إلى استخدام env.hosts. إذا تم سحبها سأكتب رقعة.

  • كيفية إخفاء "تم". طبع بعد الانتهاء؟
  • كيف تخفي أيضًا "تم قطع الاتصال من my.server.com ... تم."؟

سيكون من المفيد إذا كان بإمكاني فقط تعطيل إخراج ALL (فعليًا كل شيء) باستثناء ما أطبعه صراحةً ، إلا في حالة وجود مشكلة.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات