Précédent   Forum des professionnels en informatique > PHP > Outils
Outils Forum d'entraide sur les outils pour développeurs PHP : EDI, installation, administration,... Les Comparatifs
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 18/10/2006, 01h13   #1 (permalink)
Invité de passage
 
Date d'inscription: octobre 2006
Messages: 3
Par défaut Exécuter script PHP en tâche de fond

Bonjour,

je voulais savoir si quelqu'un a une idee pour resoudre mon probleme.
Je m'explique, je voudrai a la fin d'un upload sur un site faire un traitement sur le fichier (video) uploade a l'aide de ffmpeg.
Par contre le traitement est assez long et plusieurs process a faire a la suite (encoder en flv, recuperer image de debut de la video, ajouter metas avec flvtool2, mettre a jour bdd, ...).
Donc pour eviter que l'internaute soit bloque sur la page d upload, je voudrai donc que lorsque celui-ci est termine, recharger la page et que l'internaute puisse naviguer sur le site.
Dans un meme temps, lancer un script php en "tache de fond" avec la commande du style exec("/usr/bin/php monscript.php > /dev/null &") par exemple, mais ne suis pas sur d utiliser la bonne methode.
Le probleme est que j'ai besoin de faire passer dans ce script en tache de fond des params de mon fichier parent (comme userid, filename, etc...)
Quelqu'un saurait-il si c'est faisable et si oui comment? Je cherche depuis un moment mais ne vois pas trop comment faire... Peut etre ajax...
Mon site est heberge en test chez moi pour l instant sur server ubuntu dapper drake php4 mysql5.
Si vous avez des exemples ce serait vraiment bienvenu.
Merci d'avance pour votre aide.
guiguibcn est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 18/10/2006, 06h53   #2 (permalink)
Inscrit(e)
 
Avatar de is_null
 
Date d'inscription: octobre 2006
Localisation: irc.freenode.net
Messages: 644
Par défaut

Pour executer une script php en tache de fond :
Code :
/usr/bin/php script.php &
Ca marche aussi simplement que cela chez moi ...
is_null est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 18/10/2006, 09h10   #3 (permalink)
Membre du Club
 
Avatar de SOAD08
 
Date d'inscription: juillet 2004
Localisation: St Marcel
Âge: 21
Messages: 101
Envoyer un message via MSN à SOAD08 Envoyer un message via Skype™ à SOAD08
Par défaut

Pour ce qui est de la récuperation des variables, tu peux les placer dans un fichier mais c'est pas très propre.
SOAD08 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 18/10/2006, 12h19   #4 (permalink)
Invité de passage
 
Date d'inscription: octobre 2006
Messages: 3
Par défaut

Pour la recuperation des variables, je pensai ajouter un flag dans la table ou sont inserees les datas et en lancant le script en tache de fond recup la ligne avec le flag a 0 et faire le traitement puis changer l etat du flag lorsque tout s est bien deroule. Vous en pensez quoi?
Le probleme c est si plusieurs upload se terminent en meme temps, je ne sais pas trop comment cela peut reagir...
guiguibcn est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 18/10/2006, 12h30   #5 (permalink)
Membre Expert
 
Avatar de Djakisback
 
Date d'inscription: février 2005
Messages: 1 429
Par défaut

Salut,
pour passer des arguments à ton script tu peux faire ceci :

php script.php etert tutyuty

et dans ton script :

Code :
echo $argv[1]; // donne etert 
echo $argv[2]; // donne tutyuty
 
Donc un truc du style avec le exec :

Code :
exec("/usr/bin/php monscript.php ".$var1." ".$var2." &");
Bye
Djakisback est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 18/10/2006, 20h51   #6 (permalink)
Invité de passage
 
Date d'inscription: octobre 2006
Messages: 3
Par défaut

Merci Djakisback c exactement ce que je recherchais, cela fonctionne parfaitement en mettant
Code :
exec("/usr/bin/php monscript.php ".$var1." ".$var2." > /dev/null &")
Sans > /dev/null, j ai toujours le sablier qui est active.

Encore merci
guiguibcn est déconnecté   Envoyer un message privé Réponse avec citation
NEWS PHPFAQ PHPCours PHPSources PHPLivres PHPScripts PHPOutils PHPComparatifsZend Framework

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > PHP > Outils



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 11h03.


Vos questions techniques : forum d'entraide PHP - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.