Bonjour,
J'envoie les informations à un web service
Je récupère les informations de transferts de donnée :
- Info sur la connexion
- Réponse de web service
- Les erreurs (s'il y'en a)
- et je ferme la connexion.
Ensuite, je traite ces informations :
j'enregistre les informations de connexion dans un fichier avec la réponse de web service dans un fichier
S'il y a des erreurs de CURL (curl_error), je l'envoie des alertes par courriels, etc.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| //...
$ws_curl = curl_init();
curl_setopt($ws_curl, CURLOPT_URL, $webS_url);
curl_setopt($ws_curl, CURLOPT_POST, true);
curl_setopt($ws_curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ws_curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ws_curl, CURLOPT_POSTFIELDS, http_build_query(array('xml' => $data_xml)));
curl_setopt($ws_curl, CURLOPT_RETURNTRANSFER, true);
$launch = curl_exec($ws_curl); //les informations à un web service
$comeFromCURL = curl_getinfo($ws_curl); //les informations de transfere de data :Info sur la connexion
$data_for_log = "\r\n" .'Information come from transfer by CURL :'. "\r\n" . serialize($comeFromCURL) . "\r\n" .'Response by server distance (webservice) :'."\n". $launch. "\r\n";
if(curl_errno($ws_curl)) //erreurs (s'il y'en a)
{
$error_number_curl = curl_errno($ws_curl);
$error_text_curl = curl_error($ws_curl);
}
curl_close($ws_curl); //ferme la connextion
//... |
Mon application envoie 1re fois les informations à web service et dés qu'il reçoit les informations par [curl_getinfo] la connexion se ferme par [curl_close].
Par contre, lorsque le script ne reçoit pas rapidement les informations, il l'envoie une deuxième fois.
Comment peut-on définir ce délai ?
J'ai regardé les informations reçues par [curl_getinfo]
Les délais normaux ce sont :
[total_time] => 0.672 < -------- s:10:"total_time";d:0.67199999999999993;s:15
[total_time] => 2.141
[total_time] => 2.157
total_time] => 2.172
total_time] => 2.656
[total_time] => 5.64
total_time] => 6.968
Pendant tous ces temps, le "CURL" a envoyé une seule fois les informations.
Par contre le "CURL" a envoyé 2 fois les informations lorsque le délai est comme cela :
[total_time] => 9.688
total_time] => 9.656
[total_time] => 8.641
[total_time] => 8.547 < -------- (s:10:"total_time";d:8.5470000000000006;
[total_time] => 9.688
total_time] => 9.656
Comment puis-je définir cette limite?
Comment puis-je empêcher le 2e envoi après cette limite?
Merci
Partager