m2wsgi

البرمجيات قطة:
m2wsgi
تفاصيل البرنامج:
الإصدار: 0.5.2
تاريخ إيداع: 15 Apr 15
المطور: Ryan Kelly
ترخيص: حرر
شعبية: 43

Rating: nan/5 (Total Votes: 0)

وm2wsgi هو وحدة بيثون أن يوفر معالج بوابة WSGI لخادم الويب Mongrel2، مما يسمح للنشر السهل من التطبيقات بيثون على Mongrel2 & nbsp؛ يمكنك قد تجد أيضا الطبقات الداعمة مفيدة لتطوير معالجات غير WSGI في بيثون.
استخدام سطر الأوامر
إن أبسط طريقة لاستخدام هذه الحزمة هي كما قاذفة سطر الأوامر:
بيثون م m2wsgi dotted.app.name برنامج التعاون الفني: //127.0.0.1: 9999
وهذا الاتصال Mongrel2 على المنفذ طلب محدد والبدء في التعامل مع الطلبات المقدمة من تمريرها من خلال التطبيق WSGI محدد. افتراضيا ستحصل على التعامل مع جميع الطلبات ترابط عامل واحد؛ زيادة عدد المواضيع مثل ذلك:
بيثون م m2wsgi --num بين خيوط = 5 dotted.app.name برنامج التعاون الفني: //127.0.0.1: 9999
أو إذا المواضيع ليست الشيء الخاص بك، استخدم eventlet لخلط بت حول مثل ذلك:
بيثون م m2wsgi --io = eventlet dotted.app.name برنامج التعاون الفني: //127.0.0.1: 9999
أنا مهتم في إضافة دعم وحدات أخرى IO مثل gevent. مساهمات موضع ترحيب.
استخدام برنامجي
إذا كان لديك احتياجات أكثر تعقيدا، يمكنك استخدام m2wsgi من داخل التطبيق الخاص بك. الطبقة الرئيسية هي "WSGIHandler 'الذي يوفر واجهة بسيطة الخادم. ما يعادل استخدام أعلاه سطر الأوامر هو:
من m2wsgi.base WSGIHandler استيراد
معالج = WSGIHandler (my_wsgi_app، "برنامج التعاون الفني: //127.0.0.1: 9999")
handler.serve ()
لتحكم أكثر دقة حول العلاقة بين المعالج الخاص بك وMongrel2، وخلق كائن اتصال الخاص بك:
من m2wsgi.base WSGIHandler الاستيراد، اتصال
كون = اتصال (send_spec = "برنامج التعاون الفني: //127.0.0.1: 9999"،
على & nbsp؛ recv_spec = "برنامج التعاون الفني: //127.0.0.1: 9999"،
على & nbsp؛ send_ident = "9a5eee79-dbd5-4f33-8fd0-69b304c6035a")
معالج = WSGIHandler (my_wsgi_app، كون)
handler.serve ()
لا لدينا بالفعل واحدة من هذه؟
عدة في الواقع:
ونبسب؛ * https://github.com/berry/Mongrel2-WSGI-Handler
ونبسب؛ * https://bitbucket.org/dholth/mongrel2_wsgi
أيا منها تلبية كامل احتياجات بلدي. على وجه الخصوص، هذه الحزمة على الدعم للشفافية:
ونبسب؛ * ترميز استجابة المقسم
ونبسب؛ * "تحميل المتزامن" الهيئات طلب كبيرة
ونبسب؛ * الخلفيات IO للتوصيل (على سبيل المثال eventlet، gevent)
انها مصممة أيضا من الألف إلى الياء خصيصا لMongrel2. وهذا يعني انه يحصل على الكثير من وظائف مجانا، ورمز هو أبسط وأخف وزنا نتيجة لذلك.
على سبيل المثال، ليست هناك إدارة واضحة من threadpool وطلب الانتظار كما قد تجد في مثل خادم CherryPy. بدلا من ذلك، عليك أن تبدأ للتو العديد من المواضيع التي تحتاج إليها، يكون كل منهم ربط إلى نفس مقبس المعالج، وmongrel2 (عبر zmq) سيتم تلقائيا تحميل التوازن للطلبات لهم.
وبالمثل، ليس هناك دعم واضح لإعادة عندما يتغير التعليمات البرمجية. مجرد قتل معالج القديم وبدء واحدة جديدة. إذا كنت تستخدم معالج UUIDs ثابتة بعد ذلك سوف zmq ضمان تسليم يحدث برشاقة

المتطلبات:.

بيثون

القيود:

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

البرامج الأخرى من المطور Ryan Kelly

promise
promise

28 Feb 15

django-supervisor
django-supervisor

20 Feb 15

Threading2
Threading2

28 Feb 15

dexml
dexml

5 Jun 15

تعليقات ل m2wsgi

لم يتم العثور على التعليقات
إضافة تعليق
بدوره على الصور!