Accueil > Forum > > > > Execution d'un script en arrière-plan
Execution d'un script en arrière-plan
lundi 7 mars 2005 à 10:31:50 |
Execution d'un script en arrière-plan

ZeroCool007
|
Salut,
Je cherche à éxécuter un script php en arrière-plan pour ne pas bloquer l'utilisateur dans la navigation.
Il s'agit d'un script php dont l'exécution est relativement longue, et
je ne peux pas me permettre de bloquer l'utilisateur durant cette
période. Il s'exécute sur un serveur Unix auquel j'ai totalement accès.
J'ai déjà testé les commandes "nohup" - pour me détacher du terminal et
que le script s'exécute même en cas de déconnexion de l'utilisateur -
et "&" - pour exécuter en arrière-plan. Ce principe fonctionne très
bien sur le serveur en ligne de commande, mais pas du tout dans ma page
php, je suis bloqué jusqu'à la fin de l'exécution de mon script.
Si quelqu'un à une petite idée, il est le bienvenu ici.....
Merci d'avance
|
|
lundi 7 mars 2005 à 15:08:39 |
Re : Execution d'un script en arrière-plan

Viper31
|
Alors , ce que tu peux faire est d'effectuer une execution de script php en ligne de commande alors tu as plusieurs solution :
sois tu lance la commande : php mon_script.php
sois tu modifies ton script php pour qu'il soit lui meme executable en rajoutant en entete du fichier :
#!/usr/bin/php
<?php ... blablabla
mais si tu fais ca , tu devra changer les droit du fichiers pour qu'il soit executable :
chmod 775 mon_script.php ou un truc dans le style
et apres tu peux le lancer en faisant ./mon_script.php (comme un script shell quoi)
une fois que tu as fait ca ; tu as plus qu'a rajouter la commande en crontab pour que le script s'execute automatiquement tout seul (precision max : la minute).
par contre le souci , c'est que si l'execution est longue , le serveur
soufrira quand meme d'une perte significative de performance qui
impactera l'utilisateur malgres tes efforts .... donc tu peux peut etre
faire en sorte de découper ta tache , en plusieurs petites taches que
tu fera a different moment ...
autre chose , si ce script renvoit des chose par echo , essaye de faire
en sorte de ne pas les afficher si tu l'execute par crontab , car sinon
, tu recevra la sortie du script (les echos) par mail dans ta boite
utilisateur ^^ ca risque de devenir genant au bout d'un moment :)...
Mais si tu veux avoir les resultats de l'execution de ce script , alors laisse faire , ca sera parfait!
voila !! j'espere avoir répondu a ta question ....
|
|
lundi 7 mars 2005 à 15:42:43 |
Re : Execution d'un script en arrière-plan

ZeroCool007
|
Merci pour ta réponse, mais j'ai déjà mis en entete la ligne #!/usr/bin/php et ca ne change rien à mon problème.
J'ai également pensé au crontab, l'ennui c'est que c'est l'utilisateur
qui, en cliquant sur un bouton, déclenche l'exécution du script.
Ensuite, il peut suivre dans la page (si elle s'affiche, quand le
script ne bloquera plus tout...) la progression de l'exécution du
script sur une barre progression.
Tout fonctionne bien, j'ai déjà testé avec 2 pages une qui lance le
script (et qui se bloque) et sur l'autre je vois alors la progression.
Vu que c'est l'utilisateur qui lance le script à n'importe qule moment, le cron ne me parrait pas être la meilleure solution.
La perte de performance du serveur n'est pas un problème, vu qu'elle
est "souhaitée", c'est l'utilisateur qui lance un processus, mais c'est
surtout que la page ne reste pas bloquée...
Merci quand même de ton aide.
|
|
lundi 7 mars 2005 à 17:29:27 |
Re : Execution d'un script en arrière-plan

Viper31
|
Humm dans ce cas la , je vois pas ... si ca avé pas été du php , je t'aurai repondu d'utiliser les threads :) , mais bon la , c'est assez chaud effectivement
|
|
lundi 7 mars 2005 à 18:13:31 |
Re : Execution d'un script en arrière-plan

ZeroCool007
|
A parement le problème viendrai de session_start() que j'utilise au début de mon site. Et l'utilisation de session_write_close() avant d'exécuter la commande règlerai le problème.
Je vais encore faire quelques tests pour vérifier si c'est effectivement ça !
Merci encore
|
|
mardi 8 mars 2005 à 09:13:17 |
Re : Execution d'un script en arrière-plan

ZeroCool007
|
Réponse acceptée !
Effectivement, j'ai mis un session_write_close(); avant de faire exec(commande),
et je ne suis pas bloqué. En fait ce n'est pas le script qui devait
bloquer en lui-même, mais je ne sais pas encore trop quoi....
Merci pour tout
|
|
Cette discussion est classée dans : script, plan, php, utilisateur, execution
Répondre à ce message
Sujets en rapport avec ce message
Lancer un php en arriere plan [ par DevelMan ]
Bonjour,Je voudrais lancer l'execution d'un php en arriere plan que mon programme principal continue a se derouler pendant ce temps.J'ai essaye ce bou
Script en arriere plan aprés execution [ par DiJiTooL ]
Bonjour,J'ai un server apache php avec tout les droits.Lorsque mon php s'execute, il va faire quelque verification dans la base de donnée puis se conn
Empecher l'execution de scripts dans un repertoire sous Apache [ par hvb ]
Salut tout le monde,encore une fois je viens avec un problème, non pas de php, mais de configuration serveur.En effet, je me demandais si il etait pos
Chat PHP : déconnexion d'utilisateur [ par mouahaha ]
Salut à tous... Je suis en train de programmer un petit chat en php/sql, et je me retrouve face à un problème de taille : quand les utilisateurs ferme
script d'ajout utilisateur LDAP en php [ par eraclesnxf ]
script d'ajout utilisateur LDAP en php [ par eraclesnxf ]
bonjour a tous, je suis entraint de creer un script qui va me permetre d'ajouter des users dans ma base ldap voici mon code <?php // on recupere le
script d'ajout utilisateur LDAP en php [ par wes88 ]
bonjour!!,s'il vous plait je suis entain de chercher un BON script PHP qui saire a la creation des utilisateur d'un serveur LDAP !! MERCI
Aidez moi à mettre un forumulaire à ce script [ par MoulouD1993 ]
[code=php] <?php if($fp = fopen("http://www.site.com/fichier.zip","rb")) { if($pointer = fopen("./fichier.zip","wb+")) { while($buff
Script de décompression BZ2 pour PHP [ par Dacobah ]
Bonjour à tous, je recherche à décompresser un fichier BZ2 via PHP. Je sais qu'il existe déjà une extension de php prévue pour ça (http://php.net/man
script php qui enregistre les pages [ par abauser1 ]
bonjour je suis débutant en php. je voudrai savoir comment accéder avec php a une url et enregistrer la page sous un nom et un emplacement qu'on chois
Livres en rapport
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : SONDAGE..RE : SONDAGE.. par phpAnonyme
Cliquez pour lire la suite par phpAnonyme RE : SONDAGE..RE : SONDAGE.. par TychoBrahe
Cliquez pour lire la suite par TychoBrahe
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|