Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 03/12/2009, 11h06   #1
Membre actif
 
Avatar de speedy_g
 
Inscription : avril 2007
Messages : 211
Détails du profil
Informations personnelles :
Âge : 30
Localisation : Belgique

Informations forums :
Inscription : avril 2007
Messages : 211
Points : 178
Points : 178
Par défaut Timeout pour une function

Bonjour, je suis curieux,

Existe-t'il une fonction php qui limite le temps d'exécution d'une fonction et envoie un message d'erreur si cette limite est dépassée ?. ( listener ? )

Auriez-vous des idées pour la programmer si tel n'est pas le cas?.

Pour le cas d'une connection à une base de données, si celle-ci n'est pas accessible serait t'il possible de limiter le timeout avant le message d'erreur ( j'utilise le driver oci8 avec oci_connect).


Merci beaucoup pour vos réponses

Johan
speedy_g est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2009, 11h23   #2
Membre Expert
 
Avatar de Seb33300
 
Homme Sébastien Alfaiate
Développeur Web
Inscription : janvier 2007
Messages : 1 284
Détails du profil
Informations personnelles :
Nom : Homme Sébastien Alfaiate
Âge : 26
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2007
Messages : 1 284
Points : 1 587
Points : 1 587
J'ai trouvé ça dans les commentaires du manuel de la fonction oci_connect :

http://www.php.net/manual/fr/function.oci-connect.php

Citation:
If you want to specify a connection timeout in case there is network problem, you can edit the client side (e.g. PHP side) sqlnet.ora file and set SQLNET.OUTBOUND_CONNECT_TIMEOUT. This sets the upper time limit for establishing a connection right through to the DB, including the time for attempts to connect to other services. It is available from Oracle 10.2.0.3 onwards.

In Oracle 11.1, a slightly lighter-weight solution TCP.CONNECT_TIMEOUT was introduced. It also is a sqlnet.ora parameter. It bounds just the TCP connection establishment time, which is mostly where connection problem are seen.

The client sqlnet.ora file should be put in the same directory as the tnsnames.ora file.
__________________
Zend Certified Engineer PHP 5.3

« Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana
Seb33300 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2009, 12h04   #3
Membre actif
 
Avatar de speedy_g
 
Inscription : avril 2007
Messages : 211
Détails du profil
Informations personnelles :
Âge : 30
Localisation : Belgique

Informations forums :
Inscription : avril 2007
Messages : 211
Points : 178
Points : 178
merci, je l'avais également trouvé;

J'aurais préféré une solution provenant directemment de php, du style : si pas de réponse endéans les x secondes => produit un message d'erreur.

Pour les fonctions types, n'existerait t'il pas une implémentation d'un code du genre ?
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
function dummy()
{
sleep(200);
}
 
function test()
{
$test = new Listen('dummy',2); // dummy = function, 2 = temps max //d'execution 
dummy();
}
 
test(); // retourne timeout... vu que le temps max d'execution est de 2 secs.
merci d'avance
speedy_g est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 00h12.


 
 
 
 
Partenaires

Hébergement Web