الآن ، أبدأ تطبيق الويب الخاص بي مثل هذا:
$ gunicorn webapp:application
أريد تغذية بعض المعلمات لوظيفة التطبيق داخل webapp.py. على وجه الخصوص ، أريد استخدام ملف التكوين لضبط كيفية عمل تطبيق الويب الخاص بي.
قرأت المستندات لمعرفة كيفية تكوين gunicorn باستخدام ملف التكوين ، لكنني لا أريد ذلك.
لقد حاولت هذا ووجدت خطأ:
$ gunicorn webapp:application dev.cfg
بقدر ما أستطيع أن أقول ، حاول gunicorn العثور على استدعاء يسمى "application dev.cfg".
أيه أفكار؟
في وحدة التطبيق الخاصة بك ، يمكنك القيام بشيء مثل هذا:
def load_app(cfg_file):
cfg = load_app_config(cfg_file)
return my_app(cfg)
وبعد ذلك تبدأ تشغيل تطبيقك مثل:
$ gunicorn 'webapp:load_app("/path/to/my_config.ini")'
أجاب.
benoitc لقد مرت عدة سنوات ، هل يمكن أن تخبرني ما إذا كانت هذه الإجابة لا تزال صحيحة؟ لم أتمكن من جعل هذا النهج يعمل من أجلي.
pellunutty لا أعتقد أن الإجابة صحيحة الآن. يمكنك تصنيف فئة فرعية واحدة من فئات التطبيق (على سبيل المثال ، BaseApplication
) وتحليل المعلومات ذات الصلة بطريقة load_config
. راجع http://docs.gunicorn.org/en/stable/custom.html للحصول على مثال.
التعليق الأكثر فائدة
في وحدة التطبيق الخاصة بك ، يمكنك القيام بشيء مثل هذا:
وبعد ذلك تبدأ تشغيل تطبيقك مثل: