Gunicorn: أضف دعم Windows

تم إنشاؤها على ١ مايو ٢٠١٣  ·  90تعليقات  ·  مصدر: benoitc/gunicorn

هذا مرتبط بالأشياء التي ناقشناها في PyCon

Improvement FeaturCore help wanted - Mailing List - Platforwindows

التعليق الأكثر فائدة

@ jtan4nih هذا الموقف لا مبرر له.

Python عبارة عن منصة عابرة ، بينما gunicorn ليس كذلك.

ال 90 كومينتر

محجوب. المخطط لـ R18.

بعض التحديثات على ذلك:

  • اكتمل دعم SOCKET تمامًا ، وسيتم نشر فرع على الإنترنت الأسبوع المقبل

لكى يفعل:

معالجة بدء / إيقاف / إعادة تشغيل الخدمة لاستخدام gunicorn كخدمة Windows كاملة. إنه يحل بطريقة ما محل استخدام الإشارات تحت نظام يونكس.

سيحدث الدعم أخيرًا في R20 . سأقوم بإنشاء العلاقات العامة الجديدة لتتبع تطور هذه الميزة الأسبوع المقبل.

الأشياء التي يجب إصلاحها هي:

  • تكييف إشعارات العمال مع النوافذ
  • نقل الإشارات إلى النوافذ: إعادة التحميل وإعادة التنفيذ
  • تأكد من إمكانية توريث المقابس بين العمليات

ما هو التقدم المحرز في إضافة دعم windows لـ gunicorn ؟. أو بالأحرى كم تبعد عن R20 ؟ أواجه نفس المشكلة مثل # 587

التقدم البطيء. أريد تحرير R19 مع العمل المترابط الآن. سأدفع نسخة يوم الاثنين. سيصل دعم windows بعد ذلك مباشرة.

هل هذه النسخة المدعومة من النوافذ متوفرة في مكان ما؟

سيكون دعم Windows في R20 ، لذلك أعتقد أنه سيستغرق بعض الوقت حتى يكون لدى Guincorn دعم windows ... لقد أنشأت vm مع Ubuntu ، وهذا يعمل بالنسبة لي .....

مجرد فضول لمعرفة أي تقدم في هذا. كتمريرة أولى ، لا تحتاج حتى إلى أن تكون سريعة ؛ ستكون الميزة الكبيرة هي القدرة على التطوير باستخدام Gunicorn على Windows والدفع إلى خادم Linux (مثل Heroku) دون تغيير التكوين.

robertlagrant إنه على واجباتي. أحتاج أن أجد رخصة ويندوز أولاً. سيتم إصدار R20 في أكتوبر ،

ماذا عن صور VM في modern.ie؟ هذه مجانية وقانونية
في 22 سبتمبر 2014 الساعة 3:30 مساءً ، كتب "Benoit Chesneau" [email protected] :

robertlagrant https://github.com/robertlagrant إنه على واجباتي حتى
نهاية السنة. أحتاج أن أجد رخصة ويندوز أولاً.

-
قم بالرد على هذا البريد الإلكتروني مباشرة أو قم بعرضه على GitHub
https://github.com/benoitc/gunicorn/issues/524#issuecomment -56372470.

لقد استخدمت صور modern.ie لاختبار تطبيق ويب في IE8 مؤخرًا. من السهل البدء والعمل بشكل رائع.

benoitc إذا لزم الأمر ، أعتقد أن PSF يمكن أن يوفر لك ترخيص Windows.

benoitc هل يوجد فرع WIP لهذا الغرض؟ أنا لست من مستخدمي Windows ، لكن يمكنني إلقاء نظرة على هذا.

berkerpeksag لا ليس بعد: / يجب أن نبدأ واحدًا في أسرع وقت ممكن.

مثل cyberdelia قال أنه يمكننا طلب ترخيص Windows في PSF يمكن لمشروع gunicorn استخدامه لمثل هذا التطوير. أفكار؟

فكرة جيدة. يحتوي https://www.python.org/psf/grants/ على كافة المعلومات حول مقترحات المنح.

أي تحديثات على هذا؟

أنا أيضا أبحث عن تحديثات لهذا.

berkerpeksag لنتحدث في أسرع وقت ممكن على IRC ، فقط

benoitc أي تحديث على هذا واحد؟

lealhugui بقدر ما أعرف لم يكن هناك تقدم منذ ذلك الحين. على أي حال أتيت بخطة:

  1. يجب أن نضع gunicorn داخل نظام CI الذي يتعامل مع النوافذ لمعرفة مكان فشلها
  2. ابدأ المنفذ عبر مكتبة IPC الجديدة (أحيانًا الشهر القادم) لبدء العمل على windows

يمكنني أن أتوقع إطلاق سراح في بعض الأحيان في مارس. ربما عاجلاً ولكن بلا وعود :) يمكن أن يكون العمل أسرع بالطبع إذا كان هناك شخص يعرف النافذة أفضل مني (تلميح إلى أنني لم أستخدم النوافذ منذ عام 1995 ...) يمكنه المساعدة!

benoitc بعد منتصف يناير ، يمكنني المساعدة (بشكل أساسي في الاختبار ، أو أي شيء تحتاجه ويمكنني المساعدة).

lealhugui شكرا! سأقدم التحديثات في أسرع وقت ممكن

أتمنى أن تسير الأمور على ما يرام. هل ما زلنا جيدين مع هذا الإصدار في مارس؟

تضمين التغريدة نأمل أن يتمكنbenoitc من نشر عمل IPC ومن ثم ربما يكون دعم Windows ممكنًا. سيستغرق الأمر بعض الوقت حتى يصل عمل IPC ، ثم يتم اكتشاف عمل Windows المتبقي ، وتقسيمه إلى ثلاث مرات ، والعمل عليه. من الصعب جدا القول.

tilgovi ،

الآن فيما يتعلق بإصدار Windows ، ها هي الخطة التي لدي في رأسي. أول شيء يجب فعله هو ربط Gunicorn بـ windows CI لبدء ملاحظة المشكلات. ثم هناك سيناريوهان ، تشغيل gunicorn في cygwin أو تشغيل gunicorn في نوافذ عادية. يمكن أن يؤدي الاثنان إلى نتائج مختلفة ويجب اختبارهما. بقدر ما أعرف الأشياء التي تجعل gunicorn المحمولة هي كما يلي:

  • معالجة الإشارات : تعمل الإشارات بشكل مختلف تحت النوافذ ونحتاج إلى إيجاد طريقة لفضح الميزات التالية: http://docs.gunicorn.org/en/stable/signals.html
  • تفريخ العامل : ربما يكون هناك بعض الاختلاف في النوافذ. سيؤدي عمل IPC إلى إزالة استخدام الملف المؤقت للتحقق مما إذا كان العمال على قيد الحياة واستبداله بأنبوب. يجب أن يكون هذا الجزء متوافقًا
  • دعم العمال : لست متأكدًا حتى الآن من كيفية تصرف عمال gevent و eventlet و tornado على النوافذ. هذه دعوة جيدة لتقسيمهم خارج gunicorn على أي حال. حتى نتمكن من ترقيتهم بعيدًا. يمكن لعامل gthread العمل بشفافية إذا ذهبنا إلى python 3. وهذا ما سيكون عليه الحال.

هل فوت اي شيء؟ نرحب بأي مساعدة ، فأنا لست مستخدمًا يوميًا لنظام windows. لذلك نرحب بأي شخص لديه خبرة في النوافذ ويريد أن يأخذ زمام المبادرة في هذا الجزء لجعل منصة windows أول مواطن في gunicorn!

يضيف Python 3.5 ميزة مفيدة للتعامل مع الإشارات على Windows: يقبل () signal.set_wakeup_fd () الآن مقبض مأخذ على Windows.
https://docs.python.org/dev/library/signal.html#signal.set_wakeup_fd

مثل cyberdelia قال أنه يمكننا طلب ترخيص Windows في PSF

تمنح Microsoft تراخيص MSDN مجانية لمطوري Python core. على سبيل المثال ، بصفتي مطورًا أساسيًا ، يمكنني الوصول إلى Visual Studio 2015.

haypo شكرا. في الواقع ، يمكن أيضًا استخدام ذلك لإيقاظ الحكم على يونكس أيضًا ... مفيد جدًا.

إذا كان بإمكان أحد المطورين الأساسيين المساعدة ، فسيكون ذلك مفيدًا :) هل لديك أي فكرة عن كيفية طلب واحد عندما يكون مشروعًا خارجيًا؟

لديك أيضًا WSL (Windows for Linux) لاستهداف إمكانات Windows

هل هناك أي طريقة يمكن لأي شخص لديه معرفة محدودة بنظام لينكس وجونيكورن أن يساعد في نقل هذا إلى النوافذ ، أم أن المشاكل ليست بسيطة للغاية؟

لماذا تم إغلاق هذه القضية؟ لا يمكنني العثور على أي معلومات حول العمل على windows

هذه القضية لا تزال مفتوحة.

DominikDitoIvosevic لا يزال مفتوحًا. سأقدم نوعًا من خارطة طريق أحيانًا هذا الأسبوع.

لقد عثرت على بعض قراءة التوافق اليوم. كنت أنظر إلى عملي في # 1310. لقد تعاملت مع FD_CLOEXEC بشكل مختلف عن مكتبات systemd C. يقودني ذلك إلى PEP 446 ، التفكير في سلوك fork ، وتذكر أنه لا يوجد fork على Windows.

لبدء الأمور ، إليك بعض الأشياء التي نحتاجها في خريطة الطريق:

  • قم بإعداد CI
  • استبدل os.fork ، على الأرجح بـ multiprocessing.Process
  • استبدل WorkerTemp بـ multiprocessing.Pipe
  • أضف إصدارات توافقية لمساعدي التوريث FD
  • (ابحث عن أشياء أخرى ، من المحتمل أن تكون بسيطة ، وأصلحها)

عالق مع Windows في العمل ، سيساعدني هذا حقًا. نتوقع بشدة هذه الميزة!

أدرك أن هذا قد لا يكون إجابة ، لكنني أجد النادلة جيدة حقًا
شبابيك.

2016-08-08 22:39 بتوقيت جرينتش + 03: 00 hirolau [email protected] :

عالق مع Windows في العمل ، سيساعدني هذا حقًا. متوقع للغاية
هذه الميزة!

-
أنت تتلقى هذا لأنك مشترك في هذا الموضوع.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/benoitc/gunicorn/issues/524#issuecomment -238351654 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/AALnfBAXBrmPlU1JPx6RXI0vFQPLmBlyks5qd4XhgaJpZM4AnyCw
.

المخلص لك،
جليب

@ chester89 هذا بالتأكيد ليس مناسبًا حقًا هناك ....

hirolau لقد حصلت للتو على ترخيص مطور MSDN الشهر الماضي لذا يمكنني اختباره بسهولة على windows. نأمل أن يتمكن berkerpeksag من المساعدة في الاختبارات. سأقوم بصياغة خطة لذلك نتأكد من توفرها في بعض الأحيان الشهر المقبل :)

benoitc - عثرة وقحة!

عادةً ما أستخدم النوافذ ، لذا فإن العمل على النوافذ سيكون موضع تقدير كبير. شكرا !
هل لديك أي خطط عندما تكون جاهزة؟

هل من أخبار عن هذا؟ نحن مضطرون لاستخدام Windows في الإنتاج. إذا توقف العمل هل يمكنك مشاركة مسودة الخطة؟ في صحتك!

cmorgan نفس الوضع هنا. هل لدى أي شخص تحديثات حول هذه المسألة؟

benoitc أي أخبار عن هذا؟

مرحبا بالجميع
أي أخبار عن هذا؟

أنا متأكد من إضافة أي تحديثات لهذه المشكلة. ليست هناك حاجة لطلب التحديثات.

تحية للجميع،

آسف لعدم الرد من قبل. لقد كنت مشغولا جدا هذه الأيام. لذلك يبدو أن هناك الكثير من الأشخاص ينتظرون هذه الميزة ، فقد حان الوقت لإنجازها. سأقوم بصياغة خطة يوم الأحد حول هذا الموضوع وإيجاد طريقة لتحقيق ذلك :)

أعتقد أن تقسيم هذا إلى مهام أصغر قابلة للتنفيذ قد يكون أفضل طريقة للمضي قدمًا.

على هذا النحو ، قمت بتقديم # 1467 لجزء "إعداد CI" مع PR # 1468 لإضافة تكوين AppVeyor. يمكن الاطلاع على مثال للتشغيل التجريبي هنا:
https://ci.appveyor.com/project/edmorley/gunicorn/build/windows-ci.18

بالإضافة إلى التغييرات الأكبر المذكورة في التعليقات السابقة (الإشارات ، IPC للعامل ، التعامل مع نقص الشوكة ، إلخ) ، يجب حل ما يلي قبل إجراء الاختبارات على الإطلاق:

شكرا edmorley @ ، سوف ننظر في أسرع وقت ممكن :)

متى يمكنني احترام هذه الوظيفة بدأت هذه المسألة منذ حوالي أربع سنوات。

أهلا،
نحن نتطلع إلى الحصول على هذه الوظيفة أيضًا ، هل لدينا أي فكرة عن موعد بدء حدوث ذلك؟

مرحبًا ، متى سيتم التعامل مع هذا؟ :)

إذا أراد أي شخص المساعدة ، فإن معالجة أي من المشكلات التي وجدهاedmorley ستكون مفيدة في العلاقات العامة.

اعلم أن بعض الأشياء قد تتغير بشكل كبير لجعل ذلك ممكنًا.

لا يوجد جدول زمني لهذا الآن. إذا كنت ترغب في المساعدة ، فقد يكون IRC هو أفضل مكان للدردشة حوله ، أو فتح قضايا أصغر لعناصر العمل الفردية.

يرجى الاشتراك في هذه المشكلة إذا كنت تريد أن يتم إعلامك بشأن التقدم. الآن لا يوجد جدول زمني.

FWIW ، يعمل Gunicorn في Cygwin على Windows. أعلم أن هذا ليس مفيدًا للغاية ولكن هناك ...

Zorlin لا أستطيع أن الوثائق الرسمية

$ pip install gunicorn
$ cat myapp.py
  def app(environ, start_response):
    data = b"Hello, World!\n"
    start_response("200 OK", [
        ("Content-Type", "text/plain"),
        ("Content-Length", str(len(data)))
    ])
    return iter([data])
$ gunicorn -w 4 myapp:app

أستمر في الحصول على هذا الخطأ في Cygwin

<project-name>\flask\lib\site-packages\gunicorn\util.py", line 9, in <module>
    import fcntl
ModuleNotFoundError: No module named 'fcntl'

هذا يعمل أيضًا في النظام الفرعي على نظام التشغيل windows 10 ، فربما لم تعد هناك حاجة إليه بعد الآن؟

لدعم windows في الأصل ، نحتاج إلى ما يلي:

  • [] انتقل إلى python3 لتبسيط الكود
  • [] استخدم CreateProcessW لإنتاج عملية بدلاً من os.fork (ربما إعادة استخدام تجريد winapi المستخدم في المعالجة المتعددة؟
  • [] مآخذ أعتقد أن هناك بالفعل بعض الأكواد المنقولة لـ Asyncio ومتاحة في Python 3 والتي يمكن استخدامها في gthreads
  • [] الأذونات. يجب أن ندعم بدلاً من ذلك الطريقة التي تسمح بها النوافذ بإطلاق الخدمات. كما يجب التعامل مع الامتيازات بشكل مختلف

(ربما إعادة استخدام التجريد _winapi المستخدم في المعالجة المتعددة؟

راجع للشغل ، تستخدم المعالجة المتعددة CreateProcess في popen_spawn_win32.py وهي ليست جزءًا من عملية التوافق العكسي في Python نظرًا لأنها وحدة داخلية.

مرحبا بالجميع! كيف هو التقدم المحرز في هذه القضية؟ هل لدينا أي مواعيد مستهدفة في الأفق للانتهاء؟ شكرا!

تضمين التغريدة لن يكون هناك تاريخ مستهدف. لدينا الكثير من العمل للقيام به كما أوضح بينوا. نرحب بالمساعدة. كما قلت أعلاه ، يرجى الاشتراك في هذه القضية للحصول على التحديثات. سنقوم بالتحديث عندما يكون هناك أي شيء لمشاركته.

شكرا tilgovi ،

أود مناقشة إمكانية وضع مكافأة على إغلاق هذه القضية. قد مطور من Gunicorn الرجاء الاتصال بي على bart [at] simalam.com

شكرا لك!

bartmika آسف كان أسبوع مزدحم. سأتواصل معك غدًا بمجرد أن أكون على اتصال بـ berkerpeksag . فكرة جيدة على أي حال.

أراد benoitc فقط التحقق من الحالة على Gunicorn لـ Windows. أرى أنه لا يوجد تاريخ إصدار حتى الآن ولكني أردت معرفة ما إذا كان هناك أي شيء تجريبي يمكنني اختباره على Windows.

jmaulsby لم

@ bartmika لقد تم

فهل يوجد الآن دعم لنظام التشغيل Windows ؟. إنه شهر ديسمبر

نتطلع إلى ذلك! إنه يناير.

benoitc أي تحديثات؟

أهلا،

مجرد تسجيل الوصول مرة أخرى ، هل هناك أي شيء جديد؟

شكرا
مايك

أهلا

هل يمكنني استخدام Apache Airflow على الويندوز الآن؟

شكرا
سوداكار

أهلا،

أحاول تنفيذ الأمر التالي ولكني أتلقى هذا الخطأ. هل يمكنك المساعدة في هذا؟

(flaskms) C:\Users\Socrates>gunicorn --bind 0.0.0.0:8000 hello-world:app
Traceback (most recent call last):
  File "c:\programdata\anaconda3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\programdata\anaconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\ProgramData\Anaconda3\Scripts\gunicorn.exe\__main__.py", line 5, in <module>
  File "c:\programdata\anaconda3\lib\site-packages\gunicorn\app\wsgiapp.py", line 10, in <module>
    from gunicorn.app.base import Application
  File "c:\programdata\anaconda3\lib\site-packages\gunicorn\app\base.py", line 12, in <module>
    from gunicorn import util
  File "c:\programdata\anaconda3\lib\site-packages\gunicorn\util.py", line 9, in <module>
    import fcntl
ModuleNotFoundError: No module named 'fcntl'

على سبيل الاختراق ، قمت بإنشاء ملف fcntl.py بالمحتوى أدناه ، وقمت بتجميعه كملف fcntl.cpython-36.pyc ، ووضعته ضمن مجلد __pycache__ ، وأعدت تشغيل الجهاز ، وقمت بتشغيل الأمر gunicorn --bind 0.0.0.0:8000 hello-world:app لكن لم يحالفني الحظ حتى الآن.

محتوى fcntl.py:

FD_CLOEXEC = 1
F_DUPFD = 0
F_GETFD = 1
F_SETFD = 2
F_GETFL = 3
F_SETFL = 4
F_GETOWN = 5
F_SETOWN = 6
F_GETLK = 7
F_SETLK = 8
F_SETLKW = 9
F_RGETLK = 10
F_RSETLK = 11
F_CNVT = 12
F_RSETLKW = 13
F_RDLCK = 1
F_WRLCK = 2
F_UNLCK = 3
F_UNLKSYS = 4

def fcntl(fd, op, arg=0):
    return 0

def ioctl(fd, op, arg=0, mutable_flag=True):
    if mutable_flag:
        return 0
    else:
        return ""

def flock(fd, op):
    return

def lockf(fd, operation, length=0, start=0, whence=0):
    return

حصلت على هذا من https://stackoverflow.com/questions/11087682/does-gunicorn-run-on-windows

سيكون مفيدًا هل يمكن لأي شخص اقتراح أفضل بديل لـ Gunicorn لنظام التشغيل Windows في الوقت الحالي؟

تحديث: أنا أستخدم نادلة الآن ، بديل جيد جدًا :)

لقد مرت 5 سنوات وأي تحديث على هذا واحد؟ شكرا.

hsluoyz ، آخر شيء حدث علنًا كان في 16 مارس من هذا العام ، على ما أعتقد.

أهلا،
لا حظ بعد في الحصول على الشوكة للعمل في النوافذ؟

أهلا،

سأكون مهتمًا بالعمل على هذه التذكرة.
ما هو الوضع الحالي للميناء؟

ما هو الوضع الحالي للميناء؟

تم دمج PR # 1468 قبل عام والذي أضاف الاختبار على AppVeyor على Windows ، لكن حساب AppVeyor يحتاج إلى التنشيط قبل أن يتم تشغيله.

بعد ذلك ، يحتاج شخص ما إلى تكرار الإخفاقات التي تحدث في اختبارات Windows التجريبية.

edmorley سأعتني بأمر appveyor اليوم.

Sweenpet لا شيء كثيرا بعد. أول شيء يجب القيام به هو إلقاء نظرة على نتائج الاختبار وإنشاء تذاكر منه.

نحتاج أيضًا إلى تحديد النطاق:

  • [] هل هي غير WSL؟ ما هو مفقود ل iy؟
  • [] دعم cygwin؟
  • [] الدعم المحلي: أي نوع من الإشراف نريد. أعتقد أننا نريد تشغيله كخدمة.

أقترح مناقشة ذلك عبر IRC أحيانًا غدًا إذا كنت تريد ذلك؟

لقد قمت بتثبيت appveyor على المستودع:

https://ci.appveyor.com/project/benoitc/gunicorn

benoitc ، لدي التطبيق (أمثلة / flaskapp.py) وجميع الاختبارات التي تعمل على WSL ، لـ Ubuntu 18.04 و Python 3.6.5. من المفترض أن يعمل مع جميع الإصدارات الأخرى المحددة في ملف التكس. حقيقة أنه يعمل على WSL من شأنه أن يحل معظم مشاكل مستخدمي Windows التي أتخيلها ما لم تكن تعمل على Windows 10. هل لا يزال Cygwin مستخدمًا على نطاق واسع؟

يسعدنا إجراء مناقشة غدًا حول الدعم المحلي على Windows ، ما هو الوقت المناسب؟

سيتم إنشاء هذه التذاكر غدًا أيضًا ، يبدو أنه يتمحور بشكل أساسي حول وحدات ومآخذ Linux الأصلية.

FWIW ، أنا أستخدم cygwin على windows

إذا لم يتم تشغيل Python على Windows بشكل صحيح (مثل psycopg2 و weasyprint وما لا) ، فلماذا لا تزال Python تدعي أنها منصة مشتركة؟ حتى الآن ، لا يعمل بشكل صحيح على نظام التشغيل Windows 10.

@ jtan4nih هذا الموقف لا مبرر له.

Python عبارة عن منصة عابرة ، بينما gunicorn ليس كذلك.

آسف لقد تم تعقب الجانب المرعب. أود أن أقول إذا كان أي شخص يريد تشغيل gunicorn أصلاً على النوافذ ، فسأكون سعيدًا بقبول أي تصحيح والإجابة على أي أسئلة.

انظر cs01 / gdbgui # 18 ، ربما تساعد

لقد مرت 7 سنوات ، وهل هناك أي حظ لتحقيق ذلك؟

قد يكون لدي بعض الدورات التي تقضيها عليها أثناء مارس. سأحتاج إلى العثور على ملف
طريقة لتنفيذ النوافذ في مكان ما. يمكنك بالفعل تشغيله في المحطة
على أي حال.

كما يمكن لأي شخص يستخدم Windows بالفعل المساعدة في هذا الموضوع.

جرب waitress .
gunicorn هو الاستفادة من نواة Unix و Unix لتكوين خادم ويب.

إن النظر إلى دروس اليوتيوب هذه حول كيفية نشر django على heroku باستخدام gunicorn يجعلني أتساءل حقًا كيف يمكن لهم القيام بذلك ، وفي الوقت نفسه ما زلت عالقًا مع مشكلة gunicorn

جرب waitress .
gunicorn هو الاستفادة من نواة Unix و Unix لتكوين خادم ويب.

النادلة لا تدعم المعالجة المتعددة المناسبة.

هل هناك فكرة تقريبية عن كيفية القيام بذلك على Windows لدعم المعالجة المتعددة المناسبة؟
هل نعرف ما هي العقبات الرئيسية حتى الآن أمام تنفيذ هذا؟

قد يكون لدي بعض الدورات التي تقضيها عليها أثناء مارس. سأحتاج إلى إيجاد طريقة لتنفيذ النوافذ في مكان ما. يمكنك بالفعل تشغيله في المحطة على أي حال.

هل يمكن أن يكون Win10 dev VM حلاً لتشغيل Windows والتحقق من توافق Gunicorn؟

ربما يمكننا استخدام pywin32 للنوافذ بدلاً من fnctl على النوافذ ، يبدو أن لديهم إمكانيات قفل الملفات.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات