Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Qual a melhor forma para executar scripts que demoram vários minutos para finalizar o processamento?

Boa noite, sabem me dizer se Jobs é a melhor forma de executar scripts que podem chegar a demorar até 10 minutos por exemplo? No me caso está dando o erro "Maximum execution time of 120 seconds exceeded" no Laravel 6. Não quero aumentar o tempo no "set_time_limit" ou "max_execution_time", acredito que assim seja uma "gambiarra" para resolver o problema. Pretendo deixar executando em segundo plano e notificar por email depois a finalização do processamento do script. Se eu deixar executando em segundo plano com Jobs pode acontecer de dar esse erro de Maximum execution time também? OBS: O script demora porque estou consultando os dados através de uma API de outro sistema, e o retorno dessas informações demoram muito.

4 respostas

existe a possibilidade de contornar a API ou otimiza-la?

Infelizmente não. É uma API que não tenho relação com o desenvolvimento, serviço de terceiros.

No laravel se você criar um job você pode definir um tempo de timeout que pode ficar em execução determinada tarefa.

solução!

É apenas uma requisição que vc faz para essa Api externa? Cara da uma olhada nesse cursto de php reativo https://cursos.alura.com.br/course/php-reativo-programacao-assincrona-tempo-real. Me parece que react php seria uma boa solução o seu problema