Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

243
Vistas
Proceso de ejecución larga de PHP: responda a la persona que llama, pero continúe con el procesamiento

Hola todos,

Implementé una API REST en PHP para devolver datos a otra aplicación a pedido. Algunas solicitudes pueden demorar 30 segundos, algunas demoran 2 minutos y otras pueden demorar hasta una hora. Si la respuesta tarda más de 2 minutos, debo responder a la aplicación que llama que devolveré la llamada a la aplicación que llama, una vez que se complete la extracción de datos.

La solicitud de datos puede ser pequeña o muy grande, dependiendo de lo que requiera la aplicación que llama.

Busqué en Google y encontré la implementación de pThreads, pero dice que NO debe usarse en una aplicación alojada en un servidor web. Amp se parece a lo que necesito, pero necesito la respuesta http para terminar con la aplicación que llama, mientras que el SQL continúa generándose, es decir, la solicitud http para continuar.

La otra solución, que quiero evitar, es marcar ciertas solicitudes como de ejecución prolongada, ya que algunas solicitudes pueden demorar 30 segundos en ciertos momentos del día, pero exceder los 2 minutos en otros momentos del día.

Los requisitos son los siguientes:

  • Acepte la solicitud y ejecute el SQL para extraer los datos
  • Si la solicitud SQL aún se está ejecutando después de 2 minutos, responda con una respuesta JSON que diga que usaré el mecanismo de devolución de llamada. Pero la solicitud SQL debe continuar y los datos JSON deben escribirse en un archivo plano para la devolución de llamada.
  • Si la solicitud de SQL se completa en menos de 2 minutos, responda con la respuesta JSON con los datos

El problema es que una vez que se ejecuta la solicitud SQL, el programa se bloquea hasta que se completa. Necesito que la solicitud SQL se ejecute por separado y controle cuánto tiempo lleva.

¿Alguien puede proporcionar algún código de muestra y un marco/biblioteca que pueda ayudar con lo anterior?

Agradecería cualquier ayuda con lo anterior.

over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda