لدي مهمة لها حجج. أرغب في تشغيل هذه المهمة على مجموعة من المضيفين ، بحجة مختلفة للمهمة اعتمادًا على المضيف ، من داخل نص برمجي آخر من Python.
التعليق داخل execute
يشير إلى تنفيذه حسب البرنامج التعليمي. هل يمكنني الحصول على رابط لهذا البرنامج التعليمي؟ وإذا نجحت في العمل / نجحت في العمل مع تمرير الحجج ، فهل سيكون هذا طلب سحب مرحب به؟
أعتقد أن هذا هو أقرب شيء إلى البرنامج التعليمي Fabric 2: http://docs.fabfile.org/en/stable/getting_started.html
أرغب في تشغيل هذه المهمة على مجموعة من المضيفين ، بحجة مختلفة للمهمة اعتمادًا على المضيف ، من داخل نص برمجي آخر من Python.
لا أعرف حالة الاستخدام الخاصة بك ، مع ملاحظة أن المجموعة لم يتم تجسيدها جيدًا حتى الآن (كان التركيز على الحصول على اتصال في حالة جيدة) ، سأشير إلى أنه _حتى الآن_ ، تم تصميم المجموعة على أنها واجهة برمجة تطبيقات ملائمة / مجمعة فقط - إنها الحالة الشائعة "أعطيك قائمة بأسماء المضيفين والشيء الذي يجب القيام به وأنت تفعل ذلك من أجلي ، دون أن أضطر إلى كتابة الحلقة الخاصة بي."
بالنسبة لأي شيء أكثر تعقيدًا ، فإن الفكرة هي أنه لا يزال من السهل جدًا القيام بذلك بنفسك باستخدام اتصالات تم إنشاؤها يدويًا داخل أي بنية Python تناسب حالة الاستخدام الخاصة بك (التكرار ، وما إلى ذلك) ، لذلك في هذه الحالة ، سيكون لديك "meta" مهمة تؤدي شيئًا مثل for hostname, kwargs in my_map_of_hostnames_to_kwargs.items(): othertask(Connection(hostname), **kwargs)
.
(لا يزال هذا يترك pyinvoke / استدعاء # 170 ، أو أقل احتمالًا ، # 4 ، لكن كلاهما في الوقت الحالي يمكن حلهما.)
إذا قدمت تفاصيل حول حالة الاستخدام ، فربما يمكن لأحدنا تقديم المزيد من التفاصيل.
رد: البرنامج التعليمي: نعم ، صفحة "البدء" هي البرنامج التعليمي ، والجزء المحدد الذي يتظاهر بمعرفته حول Group.execute هو http://docs.fabfile.org/en/v2/getting_started.html#bringing -it-all - معًا - ولكن كما ورد أعلاه ، لم يتم التفكير في السلوك حقًا بعد!
شكرا جزيلا على هذا البرنامج التعليمي v2. لقد وجدت مصدره على GitHub لكني أهملت القراءة حوله.
cxn = Connection(host)
هو الجزء الحرج الذي فقدته ؛ لم تذكر أجزاء البرنامج التعليمي التي وجدتها ماهية cxn ، ولم أحفر بما يكفي لاكتشاف أنه مجرد اتصال.
لقد قمت بالفعل بكتابة الكود الذي أحتاجه عندما قمت بنشر هذا باستخدام منفذ Fabric3 ، ولكن مع التفكير في الانتقال إلى الإصدار 2 بمجرد وجوده على PyPi. شكرا على وقتكم شباب!
تحرير: قد يساعد المستخدمين المحتملين في المستقبل إذا قمت بإضافة رابط إلى هذا البرنامج التعليمي v2 في README هنا. أود أن أسحب الطلب ولكن هذا يبدو كثيرًا بالنسبة لتغيير سطر واحد: p
لا يمكن تحميل host
تلقائيًا من ملف التكوين fabric.json
بدلاً من تمريره إلى الوسيطة -D
في سطر الأوامر؟
وهناك حاجة إلى حد كبير هذه الميزة لFabric2. أي فكرة متى سيتم دمجها؟
التعليق الأكثر فائدة
وهناك حاجة إلى حد كبير هذه الميزة لFabric2. أي فكرة متى سيتم دمجها؟