Bonjour,
J'utilise une boucle for qui va faire appel à une fonction en php. Cette fonction me permet de rafraichir des infos entre un serveur et une BDD. En gros la fonction va établie une connexion avec une BDD et ensuite une connexion en SSH sur un serveur web. Ensuite, une comparaison de tableau entre la BDD et le retour SSH. Enfin une MAJ est effectuée sur la BDD pour que les infos soient identiques.
Cette fonction met 20 secondes à s’exécuter. Mais si je veux l'utiliser pour mettre à jour plusieurs serveurs, l’opération peut devenir très longue.
Ma question est de savoir s'il existe un moyen pour lancer dans l’exécution d'une boucle for en parallèle ou alors d’exécuter la fonction en arrière plan et quand toutes les opérations sont finies, d'avoir un rafraichissement de la page de l'utilisateur.
Voici un exemple du script et de la fonction :
Code PHP :
for ($i=0;$i<5;$i++) //Normalement le 5 est passé en post par l'utilisateur.
{
host_refresh($i)
}
function host_refresh($id_host)
{
$host_ip = bdd_ctrl_host_afficher_ip($id_host);
//On met à jour les info sur l'host et sur les VM qu'ils possèdes
$host_info_refresh = ssh_ctrl_host_info_refresh($host_ip);
bdd_ctrl_host_update($id_host, $host_info_refresh);
$host_vm_refresh = ssh_ctrl_host_vm_refresh($host_ip);
bdd_ctrl_vm_host_vm_update($id_host, $host_vm_refresh);
header('Location: '.$_SERVER["HTTP_REFERER"]);
}
Merci pour vos conseils.