Dash
lundi 10 mai 2004 à 00:32
bonjour,
Je vous conseille une troisieme voie : certains scripts sont concus pour eviter les timeout. Par exemple des scripts de backup de base de donnees. Vous devriez probablement chercher de ce cote

Grossierement, voici le principe :
CODE
$max_execution_time = function_exists('ini_get') ? _AT_ini_get('max_execution_time') : _AT_get_cfg_var('max_execution_time');
if (max_execution_time <= 0)
{
max_execution_time = 15; //15 secondes
}
...
$time=time();
do
{
...
if (time()-$time >= $max_execution_time )
{
@header('location : $url?id=$id_suivant');
exit();
}
...
}
while (...)
...
Des qu'un timeout doit se produire, vous interrompez le script et le relancez avec des parametres adaptes. Au besoin sauvegardez les donnees intermediaires, dans une base de donnees, un fichier quelconque, Voire une session.
Cette solution peut bien-sur etre combinee avec une recherche SQL ou via fichiers HTML.
A priori, entre SQL ou fichier, tout depend de la construction de vos tables, de la construction de vos requetes, de la configuration de votre serveur SQL, de la vitesse de votre serveur de fichier, du nombre d'appel simultanes a votre db et/ou fichiers, etc.
N'oubliez pas que vous etes probablement limite en nombre de connexions simultanees a votre base de donnees.
N'oubliez pas non plus le probleme de conccurence sur les fichiers.
Quoi que vous decidiez, veillez a optimiser un maximum vos traitements