これが私の状況です:
生データを取得してデータベースに保存し、アイテム ID を取得して Amazon SQS キューに投稿するスクリプトがあります。
データベースから生データを取得して処理する別のスクリプト (PHP で記述) があります。(通常、数分かかります。
欠けている部分は、SQS からメッセージを取得して処理する方法です。処理する新しいデータの頻度はさまざまで、1 時間あたり数アイテムから 1 分あたり数十アイテムまでさまざまです。
1 つの方法は、新しいメッセージについて SQS にクエリを実行し、処理スクリプトを起動する cron ジョブを用意することです (マルチスレッド化され、php.Python または Ruby 以外で記述されている必要があります)。cron に関する問題は、非常に非効率的であることです。高負荷フェーズでは圧倒され、静かなフェーズでは無駄な呼び出しを行うことになります。
私が望むのは、メッセージを受信して処理するある種のマルチスレッド リスナーです。重要な要件の 1 つは、生データをタイムリーに処理することです。受信後、せいぜい数分です。
最善の解決策について何か考えはありますか?SQS はタスクに適していますか? キューをリッスンして処理する最も効率的な方法は何ですか?