Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
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 31/03/2008, 16h29   #1
Membre chevronné
 
Inscription : juin 2005
Messages : 572
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Haute Vienne (Limousin)

Informations forums :
Inscription : juin 2005
Messages : 572
Points : 690
Points : 690
Par défaut [Système] Lancer une tâche système sans bloquer l'exécution d'un script

Bonjour à tous,

Je me retrouve face à un petit casse tête que j'ai du mal à résoudre.
Mon principe est le suivant : j'ai un script php, qui est lancé par une tâche planifiée (donc via php.exe), qui effectue l'archivage de dossiers.

Le souci, c'est que ce traitement est très long, et que je n'ai pas la possibilité d'influencer le temps d'exécution maximum du script.

J'ai donc pensé à la solution suivante : une fois le traitement terminé, le script se rappelle, réinitialisant ainsi le délai d'exécution.
Comme il s'agit d'une tâche planifiée, pas moyen d'utiliser une redirection javascript, je suis donc parti dans l'optique de faire une commande system() ou équivalent.

C'est là où je me suis cassé les dents : il est précisé dans la doc de cette commande qu'il est nécessaire de rediriger la sortie du programme lancé pour ne pas bloquer le script lanceur.
J'ai donc une syntaxe du type :
Code :
1
2
 
system("[monChemin]\\php.exe [monFichier] >NUL");
Le problème c'est que je n'ai pas l'impression que cet appel fonctionne correctement, puisque ma page se bloque sur cette commande.

Je précise que mon serveur est un windows server 2000.

Si vous avez des idées quant à l'écriture de cette fonction permettant de ne pas bloquer mon script, vous m'oteriez une belle épine du pied.

Merci d'avance.
__________________
Tout pas mieux que tout le monde : évitez les questions techniques en mp sinon à quoi bon poster sur un forum ?

Petite citation : "Le sage cherche la vérité, l'imbécile l'a déjà trouvée"
ratapapa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2008, 10h50   #2
Membre chevronné
 
Inscription : juin 2005
Messages : 572
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Haute Vienne (Limousin)

Informations forums :
Inscription : juin 2005
Messages : 572
Points : 690
Points : 690
Bonjour à tous,

Finalement j'ai contourné mon problème, en créant une tâche planifiée lançant IE, ce qui permet d'attaquer directement la redirection en javascript.

J'ai également trouvé une piste, qui peut servir pour ce genre de cas :
un équivalent de fork
__________________
Tout pas mieux que tout le monde : évitez les questions techniques en mp sinon à quoi bon poster sur un forum ?

Petite citation : "Le sage cherche la vérité, l'imbécile l'a déjà trouvée"
ratapapa 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 +2. Il est actuellement 18h54.


 
 
 
 
Partenaires

Hébergement Web