メッセージキューがsubprocess.Popen()
よりも優先されていると読んでいます。メッセージキューはスケーラブルなソリューションと言われています。私はそれがどんなものなのか理解したい。Pythonサブプロセス.Popen()とメッセージキュー(セロリ)
私はちょうど私がこれらを完全に分離し、異なるものです代わりにsubprocess
メッセージキューがsubprocess.Popen()
よりも優先されていると読んでいます。メッセージキューはスケーラブルなソリューションと言われています。私はそれがどんなものなのか理解したい。Pythonサブプロセス.Popen()とメッセージキュー(セロリ)
私はちょうど私がこれらを完全に分離し、異なるものです代わりにsubprocess
のメッセージキューを使用するように私の上司を説得することができるようにsubeprocess.Popen()
上でメッセージキューの利点をリストします。
subprocess.Popen()
は、渡された特定のコマンドの新しいOSプロセス(単にfork
とexec
と呼んで)を生成します。したがって、別々のプロセスで実行するために何かが必要な場合や、(オプションで)実行の結果を取得する場合(パイプ経由でやや厄介な方法で)には最適です。
キューは、次の2つの主なものを提供しますそのストレージに行く前に自動的にシリアル化されます。
したがって、分散環境でも多分、従業員が多い可能性があります。これは、垂直スケーラビリティだけでなく、水平のスケーラビリティを提供します(従業員を別のマシンに保つことによって)。
一方、キューは、非同期処理(後で実行する必要があり、現在は結果を必要としないジョブ)に適しており、単純なプロセス生成よりも重いです。
したがって、メインプロセス外のどこかで実行される単なる単発ジョブがあれば、プロセスを使用します。
非同期に実行する必要のあるさまざまなジョブがあり、そのプロセスを拡張する機能が必要な場合は、キューを使用する必要があります。
これ以外のものはありますか? –
重量のあるキューはどういう意味ですか? –