0

Amazon Web Servicesにバックエンドが導入されています。 SNSプッシュ通知でパフォーマンスに問題があります。 FirebaseのAPIキーを使ってアプリケーションを登録しました。Amazon SNSが通知を配信するのに時間がかかりすぎる

私は、メッセージが本当に速く配信されるボタンを「エンドポイントして公開」を使用してSNSコンソールから通知をテスト:

{ 
"GCM": "{ \"data\": { \"message\": \"Hello world\" } }" 
} 

しかし、私はラムダ関数を使用して、JavaのためのSNS APIを使用して通知をプッシュメッセージは到着するのに30分かかります。そこで、Firebaseの "priority"パラメータを使ってメッセージを早く到着させようとしましたが、現在は最大5分間かかるようになっています。

{ 
"GCM": "{ \"priority\": \"high\", \"data\": { \"message\": \"Hello world\" } }" 
} 

これらの通知はゲーム中にプッシュされるため、1人のユーザーが5分遅れてゲームの更新を取得するのは本当に面倒です。 1人のプレイヤーが移動し、2分後に他のプレイヤーが自分のターンであることを伝えたが、既にプレイしていたゲームの3分後にゲームアップデート通知を受け取ると、彼は怒ってしまうだろう。

これらの通知では、TTL(有効期間)を172,800秒(2日間)使用しています。パフォーマンスを向上させるために私は何ができますか?

答えて

0

問題が見つかりました。私は通知をプッシュするためにスレッドを使用しているので、実行は延期されました。

handleRequest()メソッドが完了した後、Lambdaがスレッドの実行を一時停止するようです。 DynamoDBのオブジェクトを更新するスレッドを使用して同じ問題が発生しました。

私の助言は、マルチタスクジョブに対してのみスレッドを使用することですが、handleRequest()はスレッドがすべて終了した後でreturnステートメントに達することを保証します。

関連する問題