Estoy trabajando en una aplicación que utiliza la API MWS de Amazon escrita principalmente en PHP. Esta aplicación permite a los vendedores de Amazon suscribirse, proporcionar algunas credenciales de Amazon y la aplicación luego comienza a descargar los pedidos de este usuario de Amazon colocándolos en una base de datos MySQL.¿Cuál es la forma más eficiente de ejecutar funciones asíncronas en PHP?
He creado los métodos para sincronizar datos con precisión en la base de datos utilizando un script con varias funciones, pero me di cuenta de que esto lleva demasiado tiempo. Esta secuencia de comandos simplemente recorre todos los usuarios de la base de datos e itera todas las órdenes de a una por vez. En este momento, con solo 5 usuarios de prueba, el tiempo es factible pero estoy buscando un método más extensible. Piense en aproximadamente 500 usuarios que ejecutan sincrónicamente uno a la vez. ¡Demasiado tiempo!
Soy bastante nuevo en PHP y especialmente ejecuto procesos asincrónicos desde él. La única forma en que descubrí que puedo hacer esto es tener un script de inicio que encuentre todos los usuarios en la base de datos y genere un script de sincronización para cada usuario y luego lo libere. No me gusta esta idea porque si tuviera más de 500 usuarios, mi sincronización nocturna consistiría en 500 instancias generadas de este script PHP.
¿Alguien ha hecho algo similar a esto antes? Si es así, me encantaría saber cómo hacer que esta sincronización sea más eficiente.
Nunca escuché sobre la clase HTTPRequestPool. ¡Gracias!Sin embargo, a partir de esto pude averiguar cómo hacer que envíe solicitudes HTTP asíncronas, pero también necesito procesar cada resultado que obtengo de estos por separado. ¿Podría hacerse esto? –
Creo que sí. ¿Has leído los Documentos? Especialmente revise el método "getFinishedRequests" - http://www.php.net/manual/en/function.httprequestpool-getfinishedrequests.php – rICh