Une pause dans une boucle...

Une pause dans une boucle... - PHP - Programmation

Marsh Posté le 25-02-2008 à 11:21:53    

Bonjour à tous,
 
Comme le titre l'indique, j'aimerai faire une pause dans une boucle... je m'explique plus clairement :
 
Dans ma boucle, je lance des applications sur le serveur par ligne de commande avec exec().
 
Le probleme c'est que dans une boucle, j'ai l'impression qu'il ne se soucie pas de savoir si l'application a terminé son process avant de lancer une deuxieme fois la commande... tout ça pour dire que dans une boucle ça peut s'accumuler et le serveur commence à paniquer... en gros mon code est (à peu pres) celui là :
 
 

Code :
  1. for($j=0;$j>$nb_pages;$j++){
  2. $command = "pdf2swf -p " . $pageNum ." $pdfPath " . $catalogDir . $catalogName . "/swf/page$j.swf";
  3. $execSwf = exec($command);
  4. /* IMAGE MAGICK */
  5. $command = "convert  -colorspace RGB -density 288 -resample 72x72 -gravity Center -crop ".$ptsWidth . "x" . $ptsHeight ."+0+0\! +repage  ".$pdfPath."[$j] ". $catalogDir . $catalogName . "/$convertedExt/page".$j."_temp.$convertedExt";
  6.  $execJpg1 = exec($command);
  7. $command = "convert   -resize " . $pageWidth . "x" . $pageHeight .  "! ". $catalogDir . $catalogName . "/$convertedExt/page".$j."_temp.$convertedExt ". $catalogDir . $catalogName . "/$convertedExt/page$j.$convertedExt";
  8.  $execJpg2 = exec($command);
  9. $execMiniJpg = exec("convert  $pdfPath" . "[$j] -resize x" . $miniHeight . " -trim -quality 80 -colorspace RGB " . $catalogDir . $catalogName . "/$convertedExt/mini/page$j.$convertedExt" ); // conversion des miniatures
  10. }


 
 
.. bon comme vous le voyez.. ya bcp d'instructions simultanées... imaginez dans une boucle... j'aimerai faire de sorte qu'un seul processus soit executé à la fois... comment pourrais-je faire ?
 
Merci
 
Freed


Message édité par freed102 le 25-02-2008 à 11:22:29
Reply

Marsh Posté le 25-02-2008 à 11:21:53   

Reply

Marsh Posté le 25-02-2008 à 11:46:38    

Quid de la commande System ?


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
Reply

Marsh Posté le 25-02-2008 à 11:53:04    

exec attend la fin de la commande pour passer à l'instruction suivante (sauf si spécifié autrement), tu as vérifié que tu avais bien plusieurs process simultanés ?
sinon tu as la commande http://php.net/sleep pour faire des pauses

Reply

Marsh Posté le 25-02-2008 à 12:10:44    

ok merci je vais essayer avec System ... à vrai dire je n'ai pas bien compris la différence entre exec et system...

Reply

Marsh Posté le 25-02-2008 à 12:53:26    

dans le man c'est explique : les valeurs de retours et leur forme...
 
apres si t'es en safe mode ou que php est un minimum securise, aucun des deux n'est cense fonctionner...


---------------
"Se tromper est humain ; Vraiment foutre la merde necessite le mot de passe de root."
Reply

Marsh Posté le 25-02-2008 à 12:57:26    

la commande fonctionne ça.. ça ne fait aucun doute ! c juste que ça rame sa mère !!!! lol !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed