Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

246
Visualizações
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 à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda