Ir para conteúdo
Fórum Script Brasil
  • 0

Executar script de tempo em tempo


windpanda

Pergunta

Pessoal Boa noite tenho que fazer um script que faça seguinte situação:

Tenho um banco de dados onde tenho vários emails para não sobrecarregar o servidor de email da empresa tenho que fazer com que ele envie 10 email a cada certo tempo por exemplo:

Tenho um total de 100 emails onde a tabela esta dessa forma

Id | nome| email

1

2

3

...

100

Se executar o script ele envie o email do id 1 à 10 depois de 5 mim ele envie os email com ID do 11 ao 21 e assim por diante até o final dos email registrados no banco .

Fiz uma tabela de testes no banco e testei a função sleep o script porem demora muito pra aparecer dos dados e me mostra tudo de uma vez preciso que mostre linha por linha a cada determinado tempo ex.:

Item 1 - Enviado ( Após 10 segundos me mostre o item 2 )

Item 2 - Enviado ( Após 10 segundos me mostre o item 3 )

Item 3 - Enviado ( Após 10 segundos me mostre o item 4 )

E assim por diante até o final dos registros.

alguém saberia me informar como posso fazer isso em php ou jquery, meu servior é windows segue abaixo script que usei nos testes

<? 
mysql_connect("localhost","root", "****"); 
mysql_select_db("testecod"); 

$conta = mysql_query("SELECT * FROM testecod ") or print (mysql_error()); 
$total = mysql_num_rows($conta); 

while ($row=mysql_fetch_array($conta)) { 
$id = $row["id"]; 
$nome = $row["nome"]; 

echo "$id - $nome <br>"; 
sleep(10); 

} 


?>

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Se ajendar no sistema ele ira executar todo o script e isso ira sobrecarregar o servidor de email, preciso no loop while ele exiba e execute o envio um pouco de cada vez por exemplo:

inicio o while

envie 10 emails da lista

aguarde 5 mim

envie mais 5 email da lista

aguarde 5 mim

e assim por diante até o final dos registros do banco.

Link para o comentário
Compartilhar em outros sites

  • 0
Dá uma lida nesse artigo e veja se clareia um pouco.

setTimeout()

Vou dar uma olhada em casa assim que chegar vi no exemplo é bem isso que preciso so tenho que ver uma forma de interagir com o While do PHP

Pode usar a função Sleep com o while, dispensando o javascript.

while(...) {
if($total = 500) { sleep(..); }
if($total = 1000) { sleep()..); }
}

e por ai vai.

Para executar tarefas agendadas dê uma lida a respeito do CronJob(regular scheduled tasks in PHP).

Já tentei com a função sleep porem ele so ira exibir os item após terminar de rodar todo o script tenho mais de 3000 email no banco isso demorara muito pra exibir os dados

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...