Executer un script sans attendre la réponse de l'url

Contenu du snippet

Des fois on a besoin d’exécuter un script en appelant une url, sans attendre la réponse dans le cas ou le script risque de prendre beaucoup de temps.

l'astuce c'est d'utiliser "curl_multi_exec" qui permet de lancer plusieurs urls en même temps (asynchrone)
et c'est en utilisant une boucle qu'on récupère le contenu de chaque url. donc il faut juste breaker la boucle aussitôt..

Source / Exemple :


<?php
function callUrl($url){
	$cmi = curl_multi_init();
	$curl = curl_init();
	curl_setopt($curl, CURLOPT_URL, $url);
	curl_multi_add_handle($cmi, $curl);
	
	do {
		curl_multi_exec($cmi, $running);
		//on attends quelques micro secondes puis on break la boucle.
		//comme ça on arrive a appeler l'url sans attendre la réponse  
		usleep(1000);
		break;
	} while ($running > 0);
	
	curl_multi_remove_handle($cmi, $curl);
	curl_multi_close($cmi);
}

//l'url du script en a executer
callUrl("http://www.bing.com");

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.