Bonjour,

J'ai un code fonctionnel mais vraiment pas optimisé et j'aurai besoin de conseils.

Ce que je fais

J'ai, pour app mobile, un petit serveur monté en php avec une interface d'admin en AngularJs.
J'ai une fonction qui me permet d'envoyer une notification push à tous les utilisateurs de l'app.

Cela fonctionne mais...

Le problème est que lorsque je lance la fonction, je bloque coté admin (normal j'attend la reponse du serveur que tout est fini), mais c'est long(lent).
Pour 400 utilisateurs, ca met montre en main 2min30 et comme j'inscrit dans une bdd la notif pour historique, je vois le temps entre chaque.

première fonction:
function sendmessageALL($mess){
      //opération sur la bdd et recup de tous les users
      while($rs = mysqli_fetch_assoc($result)){
                notif = sendntf($mess,$user);
      }
      return "ok";
}

deuxieme fonction
function sendntf($mess,$user){
        //ici insertion dans bdd pour historique
        // je vous passe la construction de la notification car tout fonctionne.

        //et le traitement
        $ch = curl_init();
         curl_setopt( $ch,CURLOPT_URL, 'https://android.googleapis.com/gcm/send' );
         curl_setopt( $ch,CURLOPT_POST, true );
         curl_setopt( $ch,CURLOPT_HTTPHEADER, $headers );
         curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true );
         curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, false );
         curl_setopt( $ch,CURLOPT_POSTFIELDS, json_encode( $fields ) );
         $result = curl_exec($ch );
         curl_close( $ch );
         if($result){
                return true;                     
         }
}

Ce que je veux

Y a t il une méthode ou une manièrede faire pour optimiser l'excution de mon code ?

Merci @tous

Aucune réponse