قارورة/جونيكورن مع 4 عمال:هل الاقتراع الطويل يمنع العامل؟

StackOverflow https://stackoverflow.com//questions/21018411

  •  21-12-2019
  •  | 
  •  

سؤال

لقد كتبت شيئًا كهذا (مع المزيد من التعليمات البرمجية، الجزء المهم هو sleep(5)):

def get(self):
    import time
    time.sleep(5)
    return jsonify({'result':'OK'})

أبدأ الخادم الخاص بي مثل هذا:

gunicorn serve:app -b 127.0.0.2:8000 -w 4

بينما التطبيق "نائم" هل هذا يمنع العامل بأكمله؟كيف يؤثر هذا gunicornالقدرة على الاستجابة؟

هل كانت مفيدة؟

المحلول

gunicorn سيتم افتراضيًا استخدام العمال المتزامنين، الذين سيخدمون طلبًا واحدًا فقط في كل مرة، لذلك سوف تستهلك نعم هذا العامل طوال عمر الاستقصاء الطويل. gunicorn لا يدعم العمال غير المتزامنين, ، والذي سيسمح للعامل بخدمة الطلبات الأخرى إلى جانب الاستقصاء الطويل - راجع اختيار نوع العامل:

gunicorn -k gevent -b 127.0.0.1:8000 serve:app
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top