単純なマルチプロセス メッセージングに Unix 名前付きパイプ (mkfifo) を使用する予定です。メッセージは 1 行のテキストです。
それを思いとどまらせてくれませんか?どのような障害が予想されますか?
私はこれらの制限に気付きました:
- メッセージが受信されるまで、送信者は続行できません。
- 受信者は、データが存在するまでブロックされます。読み取りを停止する必要がある場合は、ノンブロッキング IO が必要になります。たとえば、別のスレッドがそれを要求する可能性があります。
- 受信者は、1 回の読み取りで多くのメッセージを取得できます。これらは、終了する前に処理する必要があります。
- アトミック メッセージの最大長は 4096 バイトに制限されています。これは、Linux の PIPE_BUF 制限です (man 7 パイプを参照)。
メッセージングを Python で実装します。しかし、障害は一般的に保持されます。