عرض ناتج عمليات متعددة ، بالتوازي ، في وحدة التحكم ، مع TUI تفاعلي

التركيب

تثبيت نقطة مضاعفة # أو الأفضل من ذلك بيبكس تعدد الإرسال

مطلوب Python 3.7 أو أعلى.

أمثلة

التنفيذ المتوازي للأوامر Par

النائب

./ لفترة طويلة -running-process.py –zone z1

./ بعض-طويلة- run-process.py –zone z3 ‘

Par

يمكنك تحقيق نفس التأثير باستخدام Python API مثل هذا:

من مضاعف استيراد المتعدد

النائب = متعدد الإرسال () إلى عن على المنطقة في : النائب . أضف ( و ​​”. / بعض عمليات التشغيل-process.py – المنطقة {منطقة } “) النائب . يركض()

ديناميكيًا أضف أوامر Par

my-script.sh Seq:

#!/سلة مهملات / bash -e

صدى مرحبًا هناك تصدير REPO= git@github.com: dankilman / multiplex.git النائب ‘ git clone $ REPO ‘ pyenv virtualenv 3.8.5 عرض تعدد إرسال && pyenv محلي متعدد الإرسال التجريبي قرص مضغوط متعدد الإرسال MP ‘ تثبيت شعر النائب اختبارات pytest ‘ النائب @ Goodbye -b 0

Cont

بايثون كونترولر Par

يمكن تحقيق مخرجات مشابهة للمثال الأول من عملية واحدة باستخدام Python Controller API.

استيراد  عشوائي 

وقت الاستيراد استيراد الترابط من عند متعدد الإرسال استيراد متعدد الإرسال ، مراقب CSI = 033 [“RESET = CSI + “0m”RED = CSI + “31m”GREEN = CSI + “32m”BLUE = CSI + “34m”MAG = CSI + “35m”CYAN = CSI + “36m”mp = Multiplex()controllers = [Controller(f”zone z{i+1}, thread_safe=True) for i in range(3)] لجهاز التحكم في وحدات التحكم : النائب . إضافة ( تحكم ) def يركض(فهرس، ج ): ج . اكتب ( f “بدء عملية تشغيل طويلة في المنطقة { أزرق} ض {فهرس } {إعادة تعيين } ، ” f “هذه ليست طويلة حقًا للأغراض التجريبية n ) عدد 1 = عدد 2 = 0 بينما صحيح: عدد 1 += عشوائي . طبع ( 0 ، 1000 ) عدد 2 += عشوائية . راندين ر ( 0 ، 1000 ) ينام = عشوائي . عشوائي () 3 زمن.نم نم) ج .كتابة ( و “تمت المعالجة { أحمر}

   {  عدد 1  }     {إعادة تعيين}   الطلب #٪ s، "  f "المبلغ الإجمالي:   {أخضر }   $   {  عدد 2  

} { إعادة تعيين} f “الوقت الذي استغرقته معالجة هذه الدفعة: { ماج } { ينام: 0.2f } س { إعادة تعيين} ، “ f “بعض البيانات العشوائية: { ازرق سماوي} {

   عشوائي .  randint  (  500 ،  600 ) }     { إعادة تعيين}  ن" )  إلى عن على فهرس،  تحكم  

في تعداد ( وحدات تحكم ): مسلك = الترابط .مسلك(استهداف= تشغيل ، args =(فهرس + 1 ، وحدة تحكم )) مسلك. الخفي = صحيح موضوع .بداية () النائب .يركض()

شاشة المساعدة

النوع ؟ لتبديل شاشة التعليمات.

 لماذا ليس Tmux؟  

باختصار حلوا د مشاكل مختلفة.

tmux Seq عبارة عن جهاز مضاعف لمحاكي طرفي كامل. متعدد الإرسال من ناحية أخرى ، يحاول التحسين للحصول على تجربة سلسة في التنقل بين المخرجات من عدة مصادر.

تموكس ليس لديه أي فكرة لألواح التمرير. وهذا يعني أن التخطيط يحتوي على جميع الأجزاء في أي لحظة (ما لم يتم تكبيرها). في متعدد الإرسال ، سيعرض العرض الحالي المربعات التي تناسب العرض الحالي ، ولكن يمكنك الحصول على العديد من المربعات الأخرى ، والتنقل بين المربعات باستخدام أقل Seq مفاتيح مستوحاة مثل ي Seq، ك، ز Seq ، G Seq ، إلخ. ..

هناك جانب آخر يتمثل في أن العناصر الأساسية للتنقل أكثر راحة (كما هي في أقل ) لأن متعدد الإرسال ليس محاكيًا طرفيًا كاملاً ، لذا يمكنه تحمل استخدام روابط لوحة مفاتيح أحادية الحرف (على سبيل المثال g Seq للذهاب إلى البداية)

٪٪ item_read_more_button ٪٪

ترك الرد

من فضلك ادخل تعليقك
من فضلك ادخل اسمك هنا