いくつかのライブ フィード処理の管理を担当する python スクリプトがいくつかあります。次のように構造化されています。
スクリプト 1:すべてのイベントに関する非常に薄いデータを提供するライブ イベントの「集計」リストを管理します。
スクリプト 2:各ライブ イベントの詳細なフィードを処理するスレッドのリストを管理します。
スクリプト 1 は、どのイベントがアクティブであるかを定義し、(今のところ) アクティブなイベントのすべての一意の識別子をフラット ファイルに書き込みます (まったく気に入りません)。スクリプト 2 はそれらの一意の識別子を読み取り、その ID を持つスレッドが既に存在するかどうかを確認し、存在しない場合はそのスレッドを開始し、そのスレッドがそのイベントの詳細データを処理します。スクリプト 2 は、そのスレッドが非アクティブとしてマークされる時期、または準キュー ファイルから削除される時期を定義しません。スレッドはいつ自分自身を終了する必要があるかを認識しており、スクリプト 1 は、アクティブなイベントを定義するマスター リストであるフィードを監視します。これは機能しますが、かなりうまくいきますが、私には不格好で貧弱に感じます.
マルチプロセッシング プールに似たこのスレッド プールを見てきましたか? そして、このhttps://www.ibm.com/developerworks/aix/library/au-threadingpython/のようなキューアプローチですが、ライブイベントスレッドには指定された寿命がないため、うまく適用できないようです...スポーンされ、イベントが終了するまで (時間単位で) ライブになります。
私はまだ python に慣れていません。実装アプローチに関して提供できるあらゆる種類の健全性/愚かさのチェックをいただければ幸いです。
編集:システム管理者の制限により、外部モジュールを使用する立場にありません:(