Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galera, tudo tranquilinho.
Tenho uma requisição GET que retorna os valor do produto e a quantidade de estoque, até tranquilo consegui fazer de boa,
"o que não estou conseguindo é que essa requisição executasse a cada 4 horas". Qual teria ideia como faço isso?
complementando a resposta do @rafinharfc93, esse agendador se chama Cron. Pode ser esse o nome no CPanel (dependendo do idioma)
Então @rafinharfc93 e @Beraldo minha hospedagem não tem CPanel, não teria como fazer isso pelo código? Preciso pega esses dados e fazer update no meu MySQL também.
Não há mágica, alguma coisa tem que requisitar o arquivo para que ele execute a função. No caso específico do cron/crontabs/agendador de tarefas, isso é um utilitário do S.O., então mesmo que não tenha cpanel, é provável que exista uma maneira de agendar a tarefa para ser executada, fale com o host.
Alguma coisa tem que iniciar o processo. Nem precisa ser o seu servidor. Pode ser qualquer outra máquina que faça uma requisição ao script. A sua própria máquina pessoal pode fazer isso. Apenas duas observações: 1) a URL será pública (pode ser um problema, já que qualquer um poderá iniciar o processo) e 2) sua máquina deve estar sempre ligada
Uma alternativa bem gambiarra seria usar ignore_user_abort. Só funciona em scripts via linha de comando. Então uma alternativa é rodar o script uma vez e deixar em loop infinito, "acordando" a cada 4 horas.
Mas tem dois problemas: 1) se o processo parar (reset da máquina, falta de energia etc), a rotina para e 2) um processo em loop sem necessidade nunca é divertido pra CPU... :P
Amigos valeu pela resposta de você. Então @beraldo a url não é pública então não vai interação com o usuário.
Na verdade estou usando ZF2, andei pesquisando sobre CRONTAB e consegui chega a uma solução.
Eu criei um rota que é executada via console e adicionei ao CRONTAB com intervalo de 4hs.
Grato pela ajuda de você.
Sua hospedagem tem cpanel? se você use vai até ele e em tarefas agendadas adicione uma um novo trabalho cron com a url da requisição