m2wsgi

ภาพหน้าจอของซอฟแวร์:
m2wsgi
รายละเอียดซอฟแวร์:
รุ่น: 0.5.2
วันที่อัพโหลด: 15 Apr 15
ผู้พัฒนา: Ryan Kelly
การอนุญาต: ฟรี
ความนิยม: 8

Rating: nan/5 (Total Votes: 0)

m2wsgi เป็นโมดูลหลามที่ให้การจัดการเกตเวย์ WSGI สำหรับเว็บเซิร์ฟเวอร์ Mongrel2 ที่ช่วยให้การใช้งานง่ายของปพลิเคชันหลามใน Mongrel2 & nbsp;. นอกจากนี้คุณยังอาจพบว่าการเรียนการสนับสนุนของที่มีประโยชน์สำหรับการพัฒนารถขนที่ไม่ WSGI ในหลาม

การใช้บรรทัดคำสั่ง

วิธีที่ง่ายที่สุดที่จะใช้แพคเกจนี้จะเป็นตัวเปิดบรรทัดคำสั่ง:
หลาม -m m2wsgi dotted.app.name TCP: //127.0.0.1: 9999
นี้จะเชื่อมต่อกับพอร์ต Mongrel2 คำขอที่ระบุไว้และเริ่มต้นการจัดการแสดงโดยผ่านพวกเขาผ่านการตรวจสอบ WSGI ระบุ โดยค่าเริ่มต้นคุณจะได้รับด้ายคนเดียวจัดการแสดงทั้งหมด เพิ่มจำนวนของหัวข้อเช่นดังนั้น:
หลาม -m m2wsgi --num-หัวข้อ = 5 dotted.app.name TCP: //127.0.0.1: 9999
หรือถ้าหัวข้อไม่ได้สิ่งที่คุณใช้ eventlet จะสับบิตรอบเช่นดังนั้น:
หลาม -m 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 ของคุณสร้างวัตถุการเชื่อมต่อของคุณเอง:
จากการนำเข้า WSGIHandler m2wsgi.base, การเชื่อมต่อ
การเชื่อมต่อ conn = (send_spec = "TCP: //127.0.0.1: 9999"
& nbsp; recv_spec = "TCP: //127.0.0.1: 9999"
& nbsp; send_ident = "9a5eee79-dbd5-4f33-8fd0-69b304c6035a")
จัดการ = WSGIHandler (my_wsgi_app, conn)
handler.serve ()
อย่าเรามีอยู่แล้วหนึ่งในเหล่านี้หรือไม่
หลายจริง:
& nbsp; * https://github.com/berry/Mongrel2-WSGI-Handler
& nbsp; * https://bitbucket.org/dholth/mongrel2_wsgi
ไม่มีของพวกเขาได้พบกับความต้องการของฉันอย่างเต็มที่ โดยเฉพาะอย่างยิ่งแพคเกจนี้ได้รับการสนับสนุนโปร่งใสสำหรับ:
& nbsp; * เข้ารหัส chunked การตอบสนอง
& nbsp; * "async อัพโหลด" ของร่างกายตามคำขอที่มีขนาดใหญ่
& nbsp; * pluggable IO แบ็กเอนด์ (เช่น eventlet, gevent)
มันออกแบบมาจากพื้นดินขึ้นมาโดยเฉพาะสำหรับ Mongrel2 ซึ่งหมายความว่ามันได้รับจำนวนมากของการทำงานฟรีและรหัสจะง่ายและเบาเป็นผล
ยกตัวอย่างเช่นไม่มีการจัดการที่ชัดเจนของ threadpool และคิวคำขอที่คุณอาจพบในเช่น เซิร์ฟเวอร์ CherryPy แต่คุณเพียงแค่เริ่มหัวข้อมากเท่าที่คุณต้องการมีพวกเขาทั้งหมดเชื่อมต่อกับซ็อกเก็ตจัดการเดียวกันและ mongrel2 (ผ่าน zmq) โดยอัตโนมัติจะโหลดสมดุลการร้องขอให้พวกเขา
ในทำนองเดียวกันไม่มีการสนับสนุนอย่างชัดเจนสำหรับการโหลดเมื่อรหัสที่มีการเปลี่ยนแปลง เพียงแค่ฆ่าตัวจัดการเก่าและเริ่มต้นขึ้นใหม่ หากคุณใช้ UUIDs จัดการคงที่แล้ว zmq จะให้แน่ใจว่าการส่งมอบที่เกิดขึ้นได้อย่างสง่างาม

ต้องการ .

  • หลาม

ข้อ จำกัด

  • เมื่อใช้หลายหัวข้อ, Ctrl-C ไม่เรียบร้อยออกจากกระบวนการ ดูเหมือนว่าหัวข้อพื้นหลังได้รับการติดอยู่ในการปิดกั้น recv ().
  • อัลกอริทึมดุลการโหลด zmq เป็นโลภรอบโรบินซึ่งไม่เหมาะ ยกตัวอย่างเช่นมันสามารถกำหนดเวลาการร้องขออย่างรวดเร็วหลายครั้งที่จะด้ายเดียวกับหนึ่งช้าทำให้พวกเขารอแม้ว่าหัวข้ออื่น ๆ กลายเป็นใช้ได้ ผมทำงานกับอะแดปเตอร์ zmq ที่สามารถทำสิ่งที่ดีกว่า.

ซอฟแวร์อื่น ๆ ของนักพัฒนา Ryan Kelly

dexml
dexml

5 Jun 15

django-supervisor
django-supervisor

20 Feb 15

withrestart
withrestart

28 Feb 15

ความคิดเห็นที่ m2wsgi

ความคิดเห็นที่ไม่พบ
เพิ่มความคิดเห็น
เปิดภาพ!