بالا آوردن یک اپ wsgi با سرور Tornado

در این قسمت یک اپ ویزگی  رو روی سرور تورنادیی بالا میاریم.

یک جایی هم به جای werkzeug گفتم ویزگی که همین جا اصلاحش می‌کنم.


آپارات


یوتوب


سورس کد مربوط به این قسمت در https://github.com/reganto/tornado-tutorial قرار دارد. اگر سوالی داشتید می‌تونید پایین همین تاپیک بپرسید اگر بلد باشم حتما جواب میدم.


بالا آوردن WSGI App

با یکی از فریمورک‌های ویزگی مثل فلسک یک اپ ویزگی بالا میاریم. این اپ ویزگی خیلی ساده میاد و یک hello world برای ما به خروجی می‌بره


استفاده از سرور تورنادو برای بالا آوردن اپ ویزگی

سرور اجرا کننده اپ ویزگی سرور standalone تورنادو خواهد بود. برای این کار ما به ایمپورت کردن چند ماژول از تورنادو نیاز پیدا می‌کنیم. tornado.ioloop - tornado.httpserver - tornado.wsgi رو باید در این پروژه ایمپورت کنیم. برای ایجاد یک اپ ویزگی قابل اجرا بر روی سرور تورنادو باید اپ فلسک را به صورت یک آرگومان در کلاس WSGIContainer ماژول tornado.wsgi قرار بدیم.

wsgi_app = tornado.wsgi.WSGIContainer(flask_app)

در نهایت باید این اپ را به صورت یک آرگومان به HTTPServer تورنادو پاس بدیم.

http_server = tornado.httpserver.HTTPServer(wsgi_app)

سرور باید روی یک پورت به درخواست‌ها گوش بده. آخر سر هم باید ایونت لوپ تورنادو را اجرا کنیم.


* سروری که در کنار فریمورک‌های ویزگی وجود داره برای development استفاده می‌شه و نه در production به علت کارایی پایین و برخی مسائل دیگه

*اجرای یک اپ ویزگی همروند روی یک ایونت لوپ ناهمروند احتمالا مشکلاتی در رابطه با مقیاس‌پذیری به وجود میاره

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی
کپی‌ رایت رزومه فید بیان قالب : عرفـــ ـــان