Ver Mensaje Individual
  #7 (permalink)  
Antiguo 21/08/2008, 22:59
heymatias
 
Fecha de Ingreso: agosto-2008
Mensajes: 45
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Ejecutar scripts concurrentes?

Hola, yo tube un problema parecido al tuyo, y tiene mucha lógica lo que querés hacer, pero primero aclaremos algunas cosas.

Si un script PHP dura "demasiado" tiempo (cada servidor tiene su concepto de "demasiado") este será abortado, y te puedo asegurar que 45' es demasiado (para mi 15' también es demasiado).

En primera instancia no existe forma, en PHP, de ejecutar dos, o más, rutinas en paralelos, hacer lo que los programadores llamamos hilos (threads); pero existe una clase que "simula" este comportamiento.
Lo que hace es llamar varias veces al programa php (php.exe en Windows, o el /bin/php según corresponda) y le pasa como parámetro la clase/función que querés ejecutar. Entonces vos vas a tener varias instancias del programa PHP corriendo en el servidor, y en cada instancia vas a tener una sola función ejecutándose.

Si te interesa buscala en google que aparece enseguida, buscá algo como multi threads en PHP. Yo no la he probado, miré el código y no me inspiró mucha confianza.

Yo lo resolví haciendo un CGI en C++ (que tiene un hermoso manejo de hilos), lo ejecuto cuando se necesite y listo (en mi caso cada 15''); este es uno de los casos en los que no cambio un CGI por PHP.

Suerte, matías.-