カウントダウン タイマーを必要とし、タイマーがゼロになるとクライアント側に通知するアプリケーション (GAE 上) を開発しています。
クライアント側に通知するには、 GAE Channel API を使用しています。
何か案は?(GAE の制限を考慮して、Java API から Thread または Timer を使用しない)。
カウントダウン タイマーを必要とし、タイマーがゼロになるとクライアント側に通知するアプリケーション (GAE 上) を開発しています。
クライアント側に通知するには、 GAE Channel API を使用しています。
何か案は?(GAE の制限を考慮して、Java API から Thread または Timer を使用しない)。
どの程度の信頼性/精度が必要かはわかりませんが、いくつかのアイデアがあります:
それぞれのクライアント ID を使用してサーバーのローカル時間を memcache に保存した後、チャネル APIを介してクライアントに「timer-start」メッセージを送信し、Javascript カウンターを介してクライアント側で処理します。タイマーが終了するか、クライアントがその職務を完了したら、サーバーを呼び出してビジネス ロジックを実行します。
TaskQueueのcountdownパラメーターを使用し、 「タイマー開始」メッセージをクライアントに送信する前に、特定のカウントダウンでタスクを追加します。n 秒後に追加されたタスクがトリガーされ、「タイマー オーバー」メッセージがクライアントに送信されます。
クライアント側から情報をポーリングすることはできませんか? または、1 分に 1 回実行される cron タスクを作成して、適切なメッセージを送信することもできます。
どのくらいの頻度でこれを行う必要があるか、必要な精度によって異なります