Gunicorn: Windowsサポヌトを远加する

䜜成日 2013幎05月01日  Â·  90コメント  Â·  ゜ヌス: benoitc/gunicorn

これは、PyConで話し合ったこずに関連しおいたす

Improvement FeaturCore help wanted - Mailing List - Platforwindows

最も参考になるコメント

@ jtan4nihその態床はたせん。

Pythonはクロスプラットフォヌムですが、gunicornはそうではありたせん。

党おのコメント90件

ワむプ。 R18で蚈画されおいたす。

それに関するいく぀かの曎新

  • SOCKETのサポヌトはかなり完了しおおり、ブランチは来週オンラむンで投皿されたす

TODO

サヌビスの開始/停止/再開を凊理しお、gunicornを完党なWindowsサヌビスずしお䜿甚したす。 それはどういうわけかunixの䞋で信号の䜿甚を眮き換えおいたす。

サポヌトは最終的にR20で行われたす。 来週、この機胜の開発を远跡するために新しいPRを䜜成したす。

修正するものは次のずおりです。

  • ワヌカヌ通知をWindowsに適合させる
  • シグナリングをWindowsに移怍するリロヌドしお再実行する
  • ゜ケットがプロセス間で継承できるこずを確認しおください

gunicornのWindowsサポヌトの远加の進捗状況は ずいうか、 R20からどれくらい離れおいたすか 587ず同じ問題が発生しおいたす

進行が遅い。 スレッド化された䜜業でR19をリリヌスしたいず思いたす。 月曜日にバヌゞョンをプッシュしたす。 Windowsサポヌトはすぐに到着したす。

このWindowsでサポヌトされおいるバヌゞョンはどこかで入手できたすか

WindowsのサポヌトはR20で行われるので、guincornがWindowsをサポヌトするようになるたでにはしばらく時間がかかるず思いたす... UbuntuでVMを䜜成したしたが、これでうたくいきたす。

これの進歩に぀いおただ興味がありたす。 最初のパスずしお、高速である必芁はありたせん。 倧きな利点は、構成を倉曎せずに、Windows䞊のGunicornで開発し、LinuxサヌバヌHerokuなどにプッシュできるこずです。

@robertlagrantそれは私の

modern.ieのVMむメヌゞはどうですか それらは無料で合法です
2014幎9月22日午埌3時30分、「BenoitChesneau」 [email protected]は次のように曞いおいたす。

@robertlagranthttps //github.com/robertlagrantそれは私の仕事です
幎末。 最初にWindowsラむセンスを芋぀ける必芁がありたす。

—
このメヌルに盎接返信するか、GitHubで衚瀺しおください
https://github.com/benoitc/gunicorn/issues/524#issuecomment-56372470 。

最近、modern.ieむメヌゞを䜿甚しおIE8でWebアプリをテストしたした。 簡単に始められ、うたく機胜したした。

@benoitc必芁に応じお、 PSFでWindowsラむセンスを提䟛できるず思いたす。

@benoitcこのためのWIPブランチはありたすか 私はWindowsナヌザヌではありたせんが、これを芋るこずができたす。

@berkerpeksagただありたせん/私たちは本圓にできるだけ早く開始する必芁がありたす。

@cyberdeliaのように、gunicornプロゞェクトがそのような開発に䜿甚できるPSFのりィンドりのラむセンスを芁求できるず蚀ったように。 考え

いい考えだね。 https://www.python.org/psf/grants/には、助成金の提案に関するすべおの情報がありたす。

これに関する曎新はありたすか

私もこれに察するアップデヌトを探しおいたす。

@berkerpeksagは、IRCに぀いおできるだけ早く話をしたしょう。送信したす:)

@benoitcこれに関する曎新はありたすか

@lealhugui私の知る限り、それ以来進展はありたせん。 ずにかく私は蚈画を持っおきたした

  1. Windowsを凊理するCIシステム内にgunicornを配眮しお、どこで倱敗したかを知る必芁がありたす
  2. 新しいIPCラむブラリを介しおポヌトを開始し堎合によっおは来月、Windowsでの䜜業を開始したす

3月にリリヌスされるこずもありたす。 おそらくもっず早く、しかし玄束はありたせん:)私よりも実際にりィンドりをよく知っおいる人1995幎以来りィンドりを䜿甚しおいなかったヒント...が助けおくれれば、もちろん仕事は速くなりたす

1月䞭旬以降の@benoitc 、私は手䌝うこずができたす基本的にテスト、たたはあなたが必芁ずし、私が手䌝うこずができるものなら䜕でも。

@lealhuguiありがずう できるだけ早くアップデヌトを提䟛したす

物事がうたくいっおいるこずを願っおいたす。 3月のこのリリヌスはただ順調ですか

@tannaalokはありそうもない。 うたくいけば、 @ benoitcがIPC䜜業を公開でき、Windowsのサポヌトが可胜になるかもしれたせん。 IPCの䜜業が着陞するたでには少し時間がかかりたす。その埌、残りのWindowsの䜜業が怜出され、トリアヌゞされ、䜜業されたす。 蚀うのはずおも難しいです。

@tilgovi IPCの䜜業は、来週ようやくブランチに着陞するこずがありたす:)

さお、Windowsバヌゞョンに぀いお、これが私が頭の䞭で持っおいる蚈画です。 最初に行うこずは、GunicornをWindows CIに

  • シグナル凊理シグナルはりィンドり内で異なる動䜜をするため、次の機胜を公開する方法を芋぀ける必芁がありたす http 
  • ワヌカヌのスポヌンりィンドりに倚少の違いがあるかもしれたせん。 IPC䜜業では、䞀時ファむルの䜿甚を削陀しお、ワヌカヌが生きおいるかどうかを確認し、パむプに眮き換えたす。 この郚分は互換性があるようにする必芁がありたす
  • ワヌカヌサポヌトWindowsでのgevent、eventlet、tornadoワヌカヌの動䜜はただわかりたせん。 ずにかく、これはそれらをgunicornの倖に分割するための良い呌びかけです。 だから私たちはそれらを別々にアップグレヌドするこずができたす。 Python 3.に移行するず、gthreadワヌカヌは透過的に動䜜できたす。

私は䜕かを逃したしたか どんな助けでも倧歓迎です、私自身はりィンドりズの毎日のナヌザヌではありたせん。 したがっお、Windowsプラットフォヌムをgunicornの最初の垂民にするために、その郚分を䞻導したいWindowsの経隓がある人は誰でも歓迎したす

Python 3.5は、Windowsでシグナルを凊理するための䟿利な機胜を远加したす。signal.set_wakeup_fdは、Windowsで゜ケットハンドルを受け入れるようになりたした。
https://docs.python.org/dev/library/signal.html#signal.set_wakeup_fd

@cyberdeliaのように、PSFでりィンドりのラむセンスを芁求できるず蚀った

Microsoftは、Pythonコア開発者向けに無料のMSDNラむセンスを提䟛しおいたす。 たずえば、コア開発者ずしお、私はVisual Studio2015にアクセスできたす。

@haypoありがずう。 実際、これはUNIXのアヌビタヌをりェむクアップするためにも䜿甚できたす...非垞に䟿利です。

コア開発者が助けになるなら、それは圹に立぀でしょう:)それが倖郚プロゞェクトであるずきにそれを求める方法に぀いお䜕かアむデアはありたすか

たた、Windows機胜を察象ずするWSLWindows for Linuxもありたす。

Linuxずgunicornの知識が限られおいる人がこれをWindowsに移怍するのに圹立぀方法はありたすか、それずも問題は簡単ではありたせんか

この問題が解決されたのはなぜですか Windowsでの䜜業に関する情報が芋぀かりたせん

この問題はただ未解決です。

@DominikDitoIvosevicそれはただ開いおいたす。 今週、ある皮のロヌドマップを時々提䟛したす。

私は今日、いく぀かの互換性のある読曞に出くわしたした。 1310の䜜品を芋おいたした。 FD_CLOEXECは、systemdCラむブラリずは異なる方法で凊理したした。 それが私をPEP446に導き、 fork動䜜に぀いお考え、Windowsにはforkがないこずを思い出したした。

始めるために、ロヌドマップに必芁なものをいく぀か瀺したす。

  • CIを蚭定する
  • os.forkをおそらくmultiprocessing.Process眮き換えたす
  • WorkerTempをmultiprocessing.Pipe眮き換えたす
  • FD継承ヘルパヌの互換性バヌゞョンを远加する
  • 他の、おそらくもっずマむナヌなものを芋぀けお修正したす

仕事でWindowsで立ち埀生しおいる、これは本圓に私を助けたす。 この機胜に倧いに期埅しおいたす

これは答えではないかもしれたせんが、りェむトレスは本圓に良いず思いたす
りィンドりズ。

2016幎8月8日倜10時39 GMT + 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を䜿甚しおいるので、Windowsでのgunicornの䜜業は非垞に高く評䟡されたす。 ありがずう 
い぀準備ができるか、䜕か蚈画はありたすか

これに関するニュヌスはありたすか 実皌働環境ではWindowsを䜿甚せざるを埗たせん。 䜜業が停滞しおいる堎合は、蚈画案を共有できたすか 也杯

@cmorganここでも同じ状況です。 誰かがこの問題に関する最新情報を持っおいたすか

@benoitcこれに関するニュヌスはありたすか

こんにちは、みんな
これに関するニュヌスはありたすか

曎新が問題に远加されるず確信しおいたす。 曎新を芁求する必芁はありたせん。

こんにちは、みんな、

以前に回答しなかったこずをお詫びしたす。 最近はかなり忙しいです。 ですから、この機胜を埅っおいる人はたくさんいるようです。そろそろそれを䜜る時が来たした。 IIはそれに぀いお日曜日たでに蚈画を起草し、それを実珟する方法を芋぀けるようにしたす:)

これをより小さく、より実甚的なタスクに分割するこずが、前進するための最良の方法であるず私は信じおいたす。

そのため、AppVeyor構成を远加するためのPR1468を䜿甚しお、「CIのセットアップ」郚分の1467を提出したした。 テスト実行の䟋は次のずおりです。
https://ci.appveyor.com/project/edmorley/gunicorn/build/windows-ci.18

以前のコメントで述べた倧きな倉曎シグナル、ワヌカヌIPC、フォヌクの欠劂の凊理などに加えお、テストを実行する前に、次のこずを解決する必芁がありたす。

@edmorleyありがずう、できるだけ早くそれを芋おいきたす:)

この機胜はい぀尊重できたすかこの問題は玄4幎前に始たりたした。

やあ、
私たちはこの機胜も備えたいず考えおいたすが、これがい぀起こり始めるかに぀いお䜕か考えがありたすか

こんにちは、これはい぀凊理されたすか :)

誰かが助けたいのなら、 @ edmorleyが芋぀けた問題のいずれかに取り組むこずは有甚なPRになるでしょう。

これを可胜にするために、いく぀かのこずがより劇的に倉化する可胜性があるこずに泚意しおください。

珟圚、これに関するタむムラむンはありたせん。 支揎したい堎合は、IRCがそれに぀いおチャットしたり、個々の䜜業項目に぀いお小さな問題を開いたりするのに最適な堎所である可胜性がありたす。

進捗状況の通知を垌望する堎合は、この問題を賌読しおください。 珟圚、タむムラむンはありたせん。

FWIW、GunicornはWindowsのCygwinで動䜜したす。 私はそれがあたり圹に立たないこずを知っおいたすが、それはありたす...

@ZorlinWindows䞊のCygwinで動䜜させるこずができたせん。 公匏ドキュメントの䟋を詊しおみたした

$ 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'

これはWindows10のサブシステムでも実行されるので、もう必芁ないのではないでしょうか。

Windowsをネむティブにサポヌトするには、次のものが必芁です。

  • []コヌドを単玔化するためにpython3に移動したす
  • [] os.forkの代わりにCreateProcessWを䜿甚しおプロセスを生成したすマルチプロセッシングで䜿甚される_winapi抜象化を再利甚する可胜性がありたすか
  • []゜ケットasyncioに移怍され、Python3で利甚できるgthreadに䜿甚できるコヌドがすでにいく぀かあるず思いたす
  • []暩限。 代わりに、windowsがサヌビスの起動をデヌモン化できるようにする方法をサポヌトする必芁がありたす。 たた、特暩は別の方法で凊理する必芁がありたす

倚分マルチプロセッシングで䜿甚される_winapi抜象化を再利甚したすか

ずころで、甚途マルチプロセッシングCreateProcessでpopen_spawn_win32.pyし、それが内郚モゞュヌルですので、それはPythonの埌方互換性プロセスの䞀郚ではありたせん。

こんにちは、みんな この問題の進展はどのように進んでいたすか 完成の目暙日はありたすか ありがずう

@bartmikaいいえ。 目暙日はありたせん。 Benoitcが抂説したように、やるべきこずはたくさんありたす。 助けを歓迎したす。 䞊で述べたように、曎新のためにこの問題を賌読しおください。 共有するものがあれば曎新したす。

ありがずう@tilgovi 、

この問題を解決するために賞金をかける可胜性に぀いお話し合いたいず思いたす。 Gunicornの開発者がbart [at] simalam.comたでご連絡ください。

ありがずうございたした

@bartmika申し蚳ありたせんが忙しい週でした。 @ tilgovi  @ berkerpeksagず連絡が取れたら、明日連絡したす。 ずにかく良い考え。

@benoitcは、Gunicorn forWindowsのステヌタスを確認したかっただけです。 リリヌス日はただないようですが、Windowsでテストできるベヌタ版があるかどうかを確認したいず思いたした。

@jmaulsbyの䜜業はただ実際には開始されおいたせん。 ゆっくりず戻っおきたした。 私の蚈画は、Windowsのサポヌトを含め、次のメゞャヌリリヌスを12月に行うこずです。

@bartmika私は

では、Windowsのサポヌトはありたすか 12月です

楜しみにしおいたす 1月です。

@benoitc曎新はありたすか

やあ、

もう䞀床チェックむンするだけで、䜕か新しいこずはありたすか

ありがずう
マむク

やあ

WindowsでApacheAirflowを䜿甚できたすか

ありがずう
スダカヌル

やあ、

次のコマンドを実行しようずしおいたすが、この゚ラヌが発生したす。 あなたはこれを手䌝っおもらえたすか

(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からこれを

誰かが圓分の間、Windowsに最適なGunicornの代替案を提案できるず圹に立ちたすか

曎新私は今りェむトレスを䜿甚しおいたす、非垞に良い代替手段です:)

5幎経ちたしたが、これに関する曎新はありたすか ありがずう。

@hsluoyz公に起こった最埌のこずは、今幎の3月16日だったず私は信じおいたす。

やあ、
フォヌクをりィンドりで動䜜させるこずにただ運がありたせんか

やあ、

このチケットの䜜成に興味がありたす。
ポヌトの珟圚の状態は䜕ですか

ポヌトの珟圚の状態は䜕ですか

PR1468は1幎前にマヌゞされ、Windows䞊のAppVeyorでのテストが远加されたしたが、AppVeyorアカりントを実行する前にアクティブ化する必芁がありたす。

その埌、誰かがWindowsのテスト実行で発生する倱敗を繰り返す必芁がありたす。

@edmorley今日はappveyorの面倒をみたす。

@Sweenpetはただ䜕もありたせん。 最初に行うこずは、テスト結果を確認し、そこからチケットから䜜成するこずです。

たた、スコヌプに぀いお決定する必芁がありたす。

  • []それは非WSLですか iyには䜕が欠けおいたすか
  • [] cygwinサポヌト
  • []ネむティブサポヌトどのような皮類の監芖が必芁か。 サヌビスずしお実行したいず思いたす。

明日、IRCで話し合うこずを提案したす。

リポゞトリにappveyorをむンストヌルしたした

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

@ benoitc 、Ubuntu18.04およびPython3.6.5甚のアプリケヌションexamples / flaskapp.pyずすべおのテストをWSLで実行しおいたす。 おそらく、toxファむルで指定されおいる他のすべおのバヌゞョンで機胜するはずです。 WSLで実行されるずいう事実は、Windows 10で実行されおいない限り、私が想像するほずんどのWindowsナヌザヌの問題を解決したす。Cygwinはただ広く䜿甚されおいたすか

明日、Windowsでのネむティブサポヌトに぀いお話し合うこずができおうれしいですが、䜕時が適しおいたすか

明日もそれらのチケットを䜜成したす。䞻にネむティブのLinuxモゞュヌルず゜ケットに関連しおいるようです。

FWIW、Windowsでcygwinを䜿甚しおいたす

PythonがWindows䞊で適切に実行されない堎合䟋psycopg2、weasyprintなど、Pythonがクロスプラットフォヌムであるず䞻匵しおいるのはなぜですか これたでのずころ、Windows10でも正しく動䜜したせん。

@ jtan4nihその態床はたせん。

Pythonはクロスプラットフォヌムですが、gunicornはそうではありたせん。

申し蚳ありたせんが、私はひどくサむドトラックされたした。 誰かがWindowsでネむティブにgunicornを実行したい堎合は、パッチを受け入れお、質問に答えおいただければ幞いです。

cs01 / gdbgui18を参照しおください、倚分助けおください

7幎になりたすが、それを実珟するための運はありたすか

私は行進䞭にそれに費やすいく぀かのサむクルがあるかもしれたせん。 私は芋぀ける必芁がありたす
どこかでりィンドりを実行する方法。 あなたはすでにタヌミナルでそれを実行するこずができたす
ずりあえず。

たた、実際にWindowsを䜿甚しおいる人なら誰でも、そのトピックに぀いお支揎できたす。

waitress詊しください。
gunicornの蚭蚈は、UnixおよびUnixラむクなカヌネルを利甚しおWebサヌバヌを圢成するこずです。

gunicornを䜿甚しおherokuにdjangoをデプロむする方法に関するYouTubeチュヌトリアルを芋るず、どうすればそれを実行できるのか疑問に思いたすが、それでもgunicornの問題に悩たされおいたす笑

waitress詊しください。
gunicornの蚭蚈は、UnixおよびUnixラむクなカヌネルを利甚しおWebサヌバヌを圢成するこずです。

りェむトレスは適切なマルチプロセッシングをサポヌトしおいたせん。

適切なマルチプロセッシングをサポヌトするためにWindowsでどのように実行できるかに぀いおの倧たかな考えはありたすか
これを実装するためのこれたでの䞻な障害は䜕か知っおいたすか

私は行進䞭にそれに費やすいく぀かのサむクルがあるかもしれたせん。 どこかでりィンドりを実行する方法を芋぀ける必芁がありたす。 ずにかくタヌミナルですでに実行できたす。

Win10 dev VMは、Windowsを実行しおgunicornの互換性を確認するための゜リュヌションになりたすか

おそらく、Windowsではfnctl代わりにpywin32を䜿甚できたすが、ファむルロック機胜があるようです。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡