Python で 2 つのプロセス間でキュー (リソース) を共有するためのベスト プラクティスを知りたいです。各プロセスが行っていることは次のとおりです。
Process_1:ストリーミング API からデータ (json 形式) を継続的に取得します
Process_2:データを (一度に 1 つずつ) データベースにコミットするデーモン (Sander Marechal のコードに類似) です。
したがって、Process_1 (またはプロデューサー) はこの共有リソースにデータのユニットを配置し、Process_2 (またはコンシューマー) はこの共有リソースに新しいデータのユニットをポーリングし、DB に格納します (存在する場合)。
私の頭に浮かんだいくつかのオプションがあります:
- ピクルスの使用 (欠点: ピクルス化とデピクリングの余分なオーバーヘッド)
stdout
Process_1 から Process_2 へのデータの受け渡しstdin
(欠点: なし、ただしデーモンでこれを実装する方法がわからない)pool
ライブラリ内のオブジェクトを使用するmultiprocessing
(欠点: 1 つのプロセスがデーモンであるため、これをコーディングする方法がわからない)
この点に関して、いくつかのコードを使用して、最適なソリューションを実践したいと思います:)。ありがとう。