Mac OS X では、JSON オブジェクトを生成するプロセスと、それらを消費する別の断続的なプロセスがあります。プロデューサープロセスとコンシューマープロセスは互いに独立しています。オブジェクトは 5 秒ごとに生成されることはなく、通常は数百バイトですが、場合によってはメガバイトに及ぶこともあります。オブジェクトは先入れ先出しで通信する必要があります。コンシューマーは、プロデューサーが生成しているときに実行されている場合と実行されていない場合があり、オブジェクトをすぐに読み取る場合と読み取らない場合があります。
私の骨の折れる解決策は
- ディレクトリを作成します。
- Producer は、各 JSON オブジェクトをテキスト ファイルに書き込み、シリアル番号を付けて名前を付けます。
- Consumer が起動すると、シリアル番号順にファイルを読み取って削除し、実行中に FSEvents を使用してこのディレクトリに新しいファイルが到着するのを監視します。
これを行うためのより簡単またはより良い方法はありますか?