Erreur com_http (Requete Get) qui stoppe mon scénario

Hello,

j’ai un scénario avec un bloc code qui appelle une API et mon service peut ne pas être en ligne mais je veux quand même continuer l’exécution du scenario. Mon équipement est bien connecté, juste le service est down.

Actuellement quand j’exécute le scénario et si mon service n’est pas disponible j’ai ce message d’erreur dans les logs :

ERREUR PHP: Echec de la requête HTTP : http://#####  cURL error : Connection timed out after 10000 milliseconds à la ligne 133 !

Arrêt forcé du scénario pour cause d'erreur de syntaxe php ou de retour 'false'

Mon code au cas où, je précise que mon device est présent ca fonctionne bien.

$request_http = new com_http($url);
$result  = $request_http->exec(10, 1);

Merci pour votre aide.


Informations Jeedom

Core : 4.3.21
DNS Jeedom : non
Version OS : Debian 10.13

Salut,

Je comprends pas bien ce que tu fais en fait … Une API interne à jeedom ou externe ?
Parce que com_http ça fait partie du core, donc même si tu t’en sers pour autre chose c’est peut être pas ce qu’il y a de plus adapté …

Est ce que tu surcharge getNoReportError ?

C’est une api externe que j’essaye d’adresser.
Effectivement je n’utilise peut être pas la bonne méthode.

Non je ne surcharge pas.
Il faut ? :wink:

peut etre mieux d’utiliser ca :

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$resp = curl_exec($curl);
curl_close($curl);

Hello,
et si tu force noReportError en ajoutant :
$request_http->setNoReportError(true);

soit

$request_http = new com_http($url);
$request_http->setNoReportError(true);
$result  = $request_http->exec(10, 1);
1 « J'aime »

Au top !
Merci beaucoup les vrais développeurs :wink:

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.