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 TCP: //127.0.0.1: 9999
این به Mongrel2 در بندر درخواست مشخص اتصال و شروع به دست زدن به درخواست های عبور آنها را از طریق برنامه WSGI مشخص شده است. به طور پیش فرض شما یک موضوع کارگر واحد دست زدن به همه درخواست دریافت. افزایش تعداد موضوعات مانند:
پایتون متر m2wsgi --num-موضوعات = TCP 5 dotted.app.name: //127.0.0.1: 9999
یا اگر موضوعات هستند چیزی شما نیست، استفاده از eventlet به زدن بیت اطراف مانند:
پایتون متر m2wsgi --io = eventlet dotted.app.name TCP: //127.0.0.1: 9999
من علاقه مند به اضافه کردن پشتیبانی برای دیگر ماژول IO مانند gevent هستم. سهم خوش آمدید.
طریقه استفاده برنامه ریزی شده
اگر شما نیازهای پیچیده تر است، شما می توانید m2wsgi از درون برنامه خود استفاده کنید. کلاس اصلی 'WSGIHandler' فراهم می کند که یک رابط سرور ساده است. معادل استفاده فوق خط فرمان است:
از m2wsgi.base WSGIHandler واردات
کنترل = WSGIHandler (my_wsgi_app، "TCP: //127.0.0.1: 9999")
handler.serve ()
برای کنترل بهتر، بیش از ارتباط بین کنترل و Mongrel2 خود را، ایجاد شی اتصال خود را:
از m2wsgi.base WSGIHandler واردات، اتصال
هدایت کردن = اتصال (send_spec = "TCP: //127.0.0.1: 9999"،
recv_spec = "TCP: //127.0.0.1: 9999"؛ را لمس کنید و،
را لمس کنید و. send_ident = "9a5eee79-dbd5-4f33-8fd0-69b304c6035a")
کنترل = WSGIHandler (my_wsgi_app، هدایت کردن)
handler.serve ()
آیا نمی ما در حال حاضر یکی از این دارند؟
چند در واقع:
و nbsp؛ * https://github.com/berry/Mongrel2-WSGI-Handler
و nbsp؛ * https://bitbucket.org/dholth/mongrel2_wsgi
هیچ یک از آنها را به طور کامل آشنا نیازهای من. به طور خاص، این بسته دارای پشتیبانی شفاف برای:
و nbsp؛ * پشتیبانی می کند پاسخ chunked
و nbsp؛ * "بارگذاری async است" از بدن به درخواست های بزرگ
و nbsp؛ * پایانه (Backend) IO نردبان (به عنوان مثال eventlet، gevent)
آن را نیز از زمین تا به طور خاص برای Mongrel2 طراحی شده است. این به این معنی آن می شود بسیاری از قابلیت های به صورت رایگان و کد ساده تر و سبک تر به عنوان یک نتیجه است.
به عنوان مثال، هیچ مدیریت صریح و روشن از یک threadpool و درخواست صف به عنوان شما ممکن است در مثال پیدا کردن وجود دارد سرور CherryPy. در عوض، شما فقط راه اندازی موضوعات به عنوان بسیاری از شما نیاز دارید، همه آنها را به سوکت کنترل همان اتصال، و mongrel2 (از طریق zmq) به طور خودکار بارگذاری تعادل درخواست به آنها.
به طور مشابه، هیچ حمایت صریح و روشن برای بارگذاری زمانی که کد تغییر وجود دارد. فقط کنترل قدیمی کشتن و راه اندازی یکی از جدید. اگر شما با استفاده از UUIDs کنترل ثابت پس از آن zmq اطمینان خواهد داد که تحویل آرامی اتفاق می افتد

مورد نیاز:.

پایتون

محدودیت ها:

هنگام اجرای موضوعات متعدد، CTRL-C می کند پاک خروج از روند نیست. به نظر می رسد مانند موضوعات پس زمینه دریافت در یک recv مسدود گیر ().
الگوریتم متعادل کننده بار zmq حریص گرد رابین، که ایده آل نمی باشد. به عنوان مثال، می تواند درخواست های مختلف به سرعت به موضوع همان یکی آهسته برنامه، آنها را صبر حتی اگر موضوعات دیگر در دسترس است. من کار بر روی یک آداپتور zmq است که می تواند چیزی را بهتر انجام دهید.

نرم افزار های دیگر از توسعه دهنده Ryan Kelly

dexml
dexml

5 Jun 15

withrestart
withrestart

28 Feb 15

promise
promise

28 Feb 15

نظرات به m2wsgi

نظر یافت نشد
اضافه کردن نظر
روشن کردن تصاویر!