Foros del Web » Programando para Internet » PHP »

Carga paralela asincronica en PHP

Estas en el tema de Carga paralela asincronica en PHP en el foro de PHP en Foros del Web. Tengo el siguiente problema: Código: echo "exec - START: ".date('i:s')."<br>"; exec("/input/test.sh /canal/2010.mov /canal/2010_123.mov"); echo "<br>END: ".date('i:s')."<br>"; Resulta que necesito copiar un archivo de unos 200 ...
  #1 (permalink)  
Antiguo 18/11/2010, 06:57
 
Fecha de Ingreso: mayo-2004
Ubicación: Santiago, Chile
Mensajes: 191
Antigüedad: 19 años, 11 meses
Puntos: 1
Carga paralela asincronica en PHP

Tengo el siguiente problema:

Código:
echo "exec - START: ".date('i:s')."<br>";
exec("/input/test.sh /canal/2010.mov /canal/2010_123.mov");
echo "<br>END: ".date('i:s')."<br>";
Resulta que necesito copiar un archivo de unos 200 megas a otra carpeta, pero necesito SÓLO enviar la instrucción, no que la página quede detenida hasta que termine el script. ¿Es posible hacer eso? la funcion "copy" y ejecutar "cp" en exec, system, shell_exec, etc esperan tambien a que termine la ejecución de la pagina.

¿Que puedo hacer? Las copias duran hasta 30 segundo, lo que es mucho dejar esperando al usuario.

Intenté con jQuery, pero deja cargarndo todas las paginas de copia, y cuando terminan todas, termina de refrescarse la pagina.

Gracias!
  #2 (permalink)  
Antiguo 18/11/2010, 07:00
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Carga paralela asincronica en PHP

Revisa la información de flush
en la Documentacion de PHP

saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 24/11/2010, 07:37
 
Fecha de Ingreso: mayo-2004
Ubicación: Santiago, Chile
Mensajes: 191
Antigüedad: 19 años, 11 meses
Puntos: 1
Respuesta: Carga paralela asincronica en PHP

Gracias Hidek1, pero el tema es el siguiente... ese script toma por ejemplo 20 segundos... ¿cómo hago para que se siga ejecutando la página? yo necesito que la pagina se ejecute, lea ese script y siga su ejecución, no que se quede pegada en esos 20 segundos de esa parte del código... ¿se entiende? logré una solución parcial que mediante ajax llamo a una página que lee de manera asincrónica y sige la ejecución de la página principal, pero tiene ciertas limitaciones con lo que se puede o no ejecutar en ese otro código.

Existe alguna otra solución?
Thanks!
  #4 (permalink)  
Antiguo 24/11/2010, 17:34
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 5 meses
Puntos: 890
Respuesta: Carga paralela asincronica en PHP

Supongo que tienes un VPS o un server dedicado no?
si es asi por que ves la manera de correr tu archivo php con el ejecutable php
Quedaria algo asi:

exec(/usr/bin/php* -f /rutaabsoluta/copiar.php);

No se si funcionara pero seria probar no? Lo que quedaria por definir es capturar si hay algun error... hasta alli llego :D
__________________
Drupal Argentina
  #5 (permalink)  
Antiguo 24/11/2010, 18:04
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Carga paralela asincronica en PHP

Para esto tenes a Gearman, Gearman Php, la otra solución seria crearse un daemon(c o python el que mas te guste) .
  #6 (permalink)  
Antiguo 24/11/2010, 19:36
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 5 meses
Puntos: 890
Respuesta: Carga paralela asincronica en PHP

Cita:
Iniciado por masterpuppet Ver Mensaje
Para esto tenes a Gearman, Gearman Php, la otra solución seria crearse un daemon(c o python el que mas te guste) .
No es demasiado para hacer un simple Cp o Mv?
Aunque se ve interesante, voy a hecharle un vistazo.
__________________
Drupal Argentina
  #7 (permalink)  
Antiguo 29/11/2010, 09:17
 
Fecha de Ingreso: mayo-2004
Ubicación: Santiago, Chile
Mensajes: 191
Antigüedad: 19 años, 11 meses
Puntos: 1
Respuesta: Carga paralela asincronica en PHP

Tengo un servidor en un housing, 100% controlado.

Hasta el momento lo dejaré como está, funciona el script... Gearman Php es buena idea, ya que crear un demonio vendría siendo lo mismo que ejecutar una shell, ...no?

Bueno, veré otras alternativas si no funciona bien. No he probado la solución de NUCKLEAR, lo haré cuando tenga tiempo o no sea suficiente lo que hice, ya que tengo que terminar la aplicación luego.

Gracias!

Etiquetas: carga
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:38.