2017-05-11 27 views
0

私は次のコードを使用してデバイスにプッシュ通知の送信をトリガーするCakePHPのAPIサーバーを持っている:CakePHPのAPIサーバー応答時間とFCMプッシュ通知

 $url = 'https://fcm.googleapis.com/fcm/send'; 
     $headers = array(
       'Authorization:key = <<Authorization Key>', 
       'Content-Type: application/json' 
      ); 
     $ch = curl_init(); 
     curl_setopt($ch, CURLOPT_URL, $url); 
     curl_setopt($ch, CURLOPT_POST, true); 
     curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
     curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); 
     $result = curl_exec($ch); 
     if ($result === false){ 
      die('Curl failed: '. curl_error($ch));  
     } 
     curl_close($ch); 

エンドポイントの呼び出しがサーバーに対して行われたとトリガされます上記のコードは、実行のために遅延があります(上記のコードはうまく動作します)。

コードが応答メッセージに影響を与えないので、私は理想的にはこの時間を省きたいと思います。エンドポイント要求の応答時間をなくす方法でプッシュ通知を管理する方法はありますか?

答えて

2

キューを実装します。 API呼び出しをワーカーに送信するタスクを送信し、完了するまで待つ必要はありません。

このプラグインを確認してください。https://github.com/josegonzalez/php-queuesadillaタスクを作成してキューに入れることができます。またはこのCakePHP固有のプラグインhttps://github.com/dereuromark/cakephp-queue

+0

ありがとう@burzum。私はCakePHP固有のプラグインを選択し、ソリューションは素晴らしいです! –

関連する問題