[eside-ghost] Simultaneidad en hilos de ejecucion con PHP

ALi osatien en gmail.com
Lun Mayo 30 17:50:06 CEST 2011


2011/5/26 ALi <osatien en gmail.com>:
> Cucu!!
>
> A ver quien es el jarto al que se le ocurre algo :S
>
> Quiero ejecutar dos metodos (consultas a base de datos y escrituras en
> fichero con el tiempo de la consulta) paralelas
> de forma que tomare como valida la ejecucion en una y la otra solo
> esta para comparar los tiempos con la primera.
>
> proceso etc ....
> tomo tiempo inicial
> llamo a consultar a base de datos
> split procesos
> consulta en base de datos1 ---------------------consulta en base de datos2
> escribo en fichero tiempo1----------------------escribo en fichero tiempo2
>
> continuo con resultado de base de datos 1
> Necesitaria simultaneizar los accesos a las  dos bases de datos para
> no tener que esperar dos veces por lo mismo ni perjudicar al usuario.
> La escritura en fichero podria ser simultanea consulta numero1
> -tiempo1-tiempo2 ........ o separada por cada hilo
>
>
> La pregunta es como lo hariais?
> la primera que he pensado es pcntl_fork ..... pero esto se soporta en
> los apaches modernos? hay que recompilarse apache? o el php con la
> variable puesta?
>
> y mas ... pos no se me ocurrren :S usos de alguna libreria[1] que haga
> exec de un fichero ... pero lo veo mas abulto que lo que yo kiero para
> ejecutar solo una consulta ......
>
>
>
> Saludos :)
>
> [1] http://phpthreadlib.sourceforge.net
>

A falta de mas ideas ..... lo toy intentando hacer con pcntl_fork y asi
las pruebas de ejemplo (echo de numerajos en base al tiempo de espera)

me estan dando diferente resultado desde cgi que desde php (como cgi
que como modulo no se puede poner el php con threads)

como php me dice:
oscar en X-Evian:/var/www$ php kk2.php
In child 3
In child 4
In child 5
In child 2
In child 1
Child 1 completed
Child 5 completed
Child 4 completed
Child 2 completed
Child 3 completed


como cgi:
oscar en X-Evian:/var/www$ /usr/lib/cgi-bin/php5 kk2.php
Content-type: text/html

In child 3
Content-type: text/html

In child 4
Content-type: text/html

In child 5
Content-type: text/html

In child 2
Content-type: text/html

In child 1
Content-type: text/html

Child 3 completed
Child 2 completed
Child 1 completed
Child 4 completed
Child 5 completed


Sabeis como quitar del medio el text/html de los hijos? fijo que es
alguan configuracion que no se cual es :S

he quitado el x-powered-by que salia a la vez que el content-type
deshabilitando la variable expose_php con off. pero no se como quitar
los contet-type .... :S
alguna idea?


Más información sobre la lista de distribución eside-ghost