Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

LordPower

[Resolvido] Loop com intervalos

Recommended Posts

Olá a todos.

Eu estou com um problema em criar um loop que faça por exemplo a cada 1 minuto. Imagem Postada

Exemplo, a cada 1 minuto ele faz uma inclusão no banco de dados através de um foreach:

$time_interval = 60;foreach($itens as $item){ $sql}
Eu procurei no php.net alguma função que de repente setasse o tempo de cada loop ou algo do tipo mas não achei nada.

Alguem tem alguma solução sem ter que fazer uma função gigantesca para isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

foreach($itens as $item){
  //comandos sql se inserir
  sleep(60);
}

 

agora vai ter que desabilitar o tempo limite de execução na pagina se dor demorar muito tempo....

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza! Vou testar aqui, de qualquer forma, obrigado pela sua rápida resposta goruks.

Abs

 

estou reabrindo o tópico pq apareceu uma dúvida, o loop será feito de 50 em 50 segundos e eu estou setando time limit false, no entanto, no inicio ele parece funcionar, mas depois de uns 20 min ele retorna pagina não está disponível....

Servidor pode cair devido a isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom pra tudo tem um limite... uma aplicação feita para web convenhamos que não é indicado ficar 20 min executando direto. Para isso tem algumas soluções:

 

1 - Agendar no CRON?

 

2 - Usar o Refresh na mesma pagina e controlar de alguma forma de onde deve continuar

<meta http-equiv="refresh" content="5" />

 

descreva um pouco mais sobre o problema pq precisa esperar esse tempo e oque você insere ali?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na realidade é um script que segue os followers de um determinando usuário.

Como o twitter só aceita 1000 follower por dia eu precisava de alguma solução para ele pegar tipo um usuario com 5000 followers, então tive a idéia do timer que você me ajudou, ai mando ele dar um loop a cada 50 segundos...

E em seguida ele dá unfollow na mesma lista mas ai não no mesmo loop

ps: eu uso um api do twitter não é nada "ilegal"

Compartilhar este post


Link para o post
Compartilhar em outros sites

pois é mas ai você iria deixar isso executando 3 dias seguidos?

 

você usa win ou linux no servidor?

 

oque você poderia fazer é criar um script com a lista dos 5000 que insere os 1000 e marca onde parou nessa lista para na proxima vez no caso no dia seguinte você continuar do 1001

Compartilhar este post


Link para o post
Compartilhar em outros sites

Linux.

Eu tive essa idéia, porém a lista pode ter tanto 5 mil quanto 5...

No entanto, seria um script um pouco complicado nunca fiz nada do tipo..

Como pausar o script e só retornar no dia seguinte a execução?

abs e mto obrigado pela ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao por isso a pergunta do sistema operacional

 

no caso do linux você tem uma ferramenta chamada crontab que é um agendador de tarefas onde você pode especificar algo do tipo

 

todo dia as xx horas execute o arquivo cadastra_followers.php

 

e ai nesse arquivo vai ser uma programação simples onde você ve de onde parou e continua inserindo daquele ponto ate +1000

Compartilhar este post


Link para o post
Compartilhar em outros sites

Legal, porém estou achando que é muita coisa para um script de followers do twitter...

Acho mais fácil fazer a lista na mão mesmo, tipo gerar a lista e depois ir colando de 500 em 500 por dia...

 

De qualquer forma, mto obrigado pela sua ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.