私はグールのApp Engineを使用してバックエンド「ランダム対戦相手と対戦する」シンプルを構築しています。これまでは、データストアの「テーブル」に再生したい各ユーザーを追加しています。データストアに1人以上のプレイヤーがいるとすぐに、私はそれらをマッチさせることができます。私は最低解像度が細かくなるように見えることを見るまで Google App Engine - Cronまたはタスクキュー?
は、この作品のために有望に見えました。多くの選手がサインアップしている場合、私はそれらを素早くマッチングさせ、1分(最悪の場合)を待つ必要はありません。私は、マッチメイキングを行う「ランダムな相手との対戦」POSTをタスクキューに要求するサーブレットについて考えましたが、これはデータストアから読み込んで削除する際に多くの競合を招くと思います彼らがマッチした後に "ランダム"テーブルからのenteties?
基本的に私はマッチングを行う1人のワーカーが欲しいと私は時々このワーカーに合図したいと考えています今は対戦相手と試合するのが良い時期です。
ここでアクションの右側のコースであるもの上の任意の提案?
はい、トラフィックは膨大ですが、これはおそらく多くの競合につながります。実際のマッチングを行う複数の「ワーカー」が必要であることはわかりません。私は、Cronジョブを使用せずに単一のワーカーを作成できるかどうかはわかりません。 "0.1分"に設定しようとしていませんが、Cronには問題があります。 – TommyN
主な問題 - GAEには「ワーカー」がありません(割り当てられたスレッドを実行中および実行中)。あなたが得ることができる最も近いのはTask Queueです。あなたのケースでは、プルキュー。更新された回答をご覧ください。 –
あなたがここにもバックエンドを使用することができます - 保留中の各ゲームの要求は、独自のエンティティグループである限り、しかし、競合があるわけではありません。 –