[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