Page 1 sur 2
Probleme d'execution
Posté : 12 mai 2010, 10:04
par pepyte
Bonjour,
Je cherche à lancer un programme qui parcours un fichier csv et qui insert des données dans la DB. Mais mon programme s'arrête au bout de 3 minutes environ alors qu'il n'est pas encore au tiers du traitement. Quelqu'un saurait de quoi cela provient?
Re: Probleme d'ecution
Posté : 12 mai 2010, 10:08
par Skikit
Salut,
Ton serveur Apache est configuré pour un certains temps d'exécution pour tes pages.
Tu peux forcer un temps illimité dans ton script avec un set_time_limit(0) avant ton traitement.
Re: Probleme d'ecution
Posté : 12 mai 2010, 10:12
par stealth35
ducoup ca le fait avec d'autre fichier ou pas ?
Re: Probleme d'ecution
Posté : 12 mai 2010, 10:15
par pepyte
Je vais essayer. Et comment peut-on suivre l'avancement de l'exécution?
Re: Probleme d'ecution
Posté : 12 mai 2010, 10:20
par pepyte
Ça fonctionne avec d'autre fichier quand le traitement est plus rapide, mais la même avec la console mon traitement met 10 minutes...Il faudrai que j'utilise les replace mais mes champs ne sont pas clé primaire ni unique...donc je fais une verification et par la suite Update ou Insert...pas genial
Re: Probleme d'ecution
Posté : 12 mai 2010, 10:21
par stealth35
Je vais essayer. Et comment peut-on suivre l'avancement de l'exécution?
deja apres que le fichier soit télécharger (mais tu pourrais suivre le téléchargement grace a APC)
ensuite avec le buffer dans le style :
echo '<pre>';
ob_end_flush();
for($i = 0; $i < 10; $i++)
{
echo $i . PHP_EOL;
sleep(1);
flush();
}
Re: Probleme d'ecution
Posté : 12 mai 2010, 10:36
par pepyte
C'est bon pour le temps d'exécution, c'était bien ça. Et stealth35 je pourrais avoir plus d'explication sur ton code stp ^^. Si ça ne te dérange pas.
Re: Probleme d'ecution
Posté : 12 mai 2010, 10:40
par stealth35
C'est bon pour le temps d'exécution, c'était bien ça. Et stealth35 je pourrais avoir plus d'explication sur ton code stp ^^. Si ça ne te dérange pas.
on gère la gestion de sortie manuellement ob_end_flush éteins la sortie automatique, ensuite a chaque flush on envoie a la sortie
Re: Probleme d'ecution
Posté : 12 mai 2010, 10:42
par pepyte
et le 10 dans le for correspond au nombre d'enregistrement du fichier?
Re: Probleme d'ecution
Posté : 12 mai 2010, 10:44
par stealth35
et le 10 dans le for correspond au nombre d'enregistrement du fichier?
c'était un exemple pour que tu t'en inspire

c'est juste une boucle qui s'affiche petit a petit, va falloir que tu fasse pareil dans ton while en gros
Re: Probleme d'ecution
Posté : 12 mai 2010, 11:16
par pepyte
Ok je vois, et c'est possible que ça aille plus vite? Car pour 150000 lignes à cette allure...lol. Et comment ça ce fait qu'avec 40000 lignes, mon script va bien et mes insertions aussi même si je l'arrête l'execution. Alors qu'avec 150000 il ne se passe rien? Je ne vois aucune insertion ni rien.
Re: Probleme d'ecution
Posté : 12 mai 2010, 11:17
par stealth35
Ok je vois, et c'est possible que ça aille plus vite? Car pour 150000 lignes à cette allure...lol. Et comment ça ce fait qu'avec 40000 lignes, mon script va bien et mes insertions aussi même si je l'arrête l'execution. Alors qu'avec 150000 il ne se passe rien? Je ne vois aucune insertion ni rien.
tu le voyais dans $_FILES au moins ?
Re: Probleme d'ecution
Posté : 12 mai 2010, 11:25
par pepyte
Bin pas d'erreur donc je pense que oui je ne l'ai pas affiché, mais il y a le traitement des erreurs avant son ouverture.
Re: Probleme d'ecution
Posté : 12 mai 2010, 11:26
par stealth35
Bin pas d'erreur donc je pense que oui je ne l'ai pas affiché, mais il y a le traitement des erreurs avant son ouverture.
remontre ton fichier de traitement
Re: Probleme d'ecution
Posté : 12 mai 2010, 11:28
par pepyte
Le upload_size_filesize, il faut le changer dans Apache ou php?