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

Executar comandos em sequencia milhares de vezes


rodrigo jacinto

Pergunta

Boa noite, Criei um sistema no qual precisa realizar varios comandos várias vezes, a principio hoje eu criei uma tarefa onde um cron é executado a cada 2 minutos, nessa tarefa o php faz um loop em uma tabela do banco com milhares de linhas onde executa várias funções em cada linha percorrida, porem as vezes demora tipo 0:30 segundos, mas dependendo demora até mais que 2 minutos para percorrer todas as linhas necessárias. Isso faz com que tenhamos uma perca grande de tempo, pois se ele demora 30 segundos o restante do tempo fica perdido até o proximo cron iniciar..

alguém tem sugestão do que poderia ser feito para executar essa tarefa de maneira sem interrupção e sem precisar utilizar cron?

 

Obrigado

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Eu tenho uma tabela de produtos, onde existe um produto que é vinculado a outro. Por exemplo, tenho um produto chamado balas com 50 peças a R$  5,00, logo o produto bala 1 peça sai por R$ 0,10.

Eu usei o campo código do fornecedor para identificar um produto vinculado. No caso da bala, o código do fornecedor ficou assim {"codigo_base":1002,"conversao":50}, ou seja, o custo de uma bala é calculado pelos parâmetros gravados no json.

A rotina é bem demorada, pois o PHP tem que olhar cada produto, se encontrar um json no código do fornecedor, ele vai ter que recalcular se houver divergência. O problema é que eu tenho que executar a mesma rotina mais uma vez, porque na primeira passagem ele vai acertar as divergências encontradas, e na segunda passagem ele vai confirmar que não existe nenhuma discrepância entre o produto vinculado e o principal.

No meu caso, a rotina deveria ser executado apenas uma vez. Não há necessidade de executar a mesma rotina pela segunda vez. Como esse é processo demorado, chego a gastar até 2 minutos, eu só faço isso quando entra produto no estoque.

No seu caso, aconselho a fazer o mesmo. Ao invés de pedir para o PHP fazer auditoria em milhares de registros do banco de dados a cada dois minutos, o melhor é executar só quando for necessário. Você vai ver que vai sobrar bastante tempo, que pode ser melhor utilizado, compartilhando as fofocas da semana no Facebook.

Editado por Frank K Hosaka
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,1k
    • Posts
      651,7k
×
×
  • Criar Novo...