Como planejar com eficiência 100 jobs via cron?

Como planejar com eficiência 100 jobs via cron?

Estou agendando spiders implantados via scrapy com cron. Cada aranha uma linha. Agora, com 100 aranhas, isso se torna bastante difícil de planejar e gerenciar. Qual é a maneira recomendada de gerenciar uma grande quantidade de trabalhos? Analisar o tempo de manutenção potencial necessário para pausar/retomar trabalhos, entre outras coisas, como trabalhos sobrepostos, etc.

Responder1

Não use cron

Se suas necessidades forem complexas, você pode considerar o uso de um produto mais avançado projetado para executar programações complexas (distribuídas por vários servidores) e que suporte gatilhos, dependências de trabalho, tratamento de erros, novas tentativas e monitoramento de novas tentativas, etc. "agendamento de trabalhoe/ou "automação de carga de trabalho".

Responder2

Se você precisar agendar QUANDO a tarefa será executada, e não QUANTO FREQUÊNCIA, você pode continuar usando o cron. Para evitar execuções cruzadas de tarefas, você pode deixar o cron executar apenas um script curto que adiciona a tarefa a algum tipo de fila (redis, RabbitMQ, banco de dados SQL) e deixar outro script consumir essa fila e executar as cargas de trabalho sequencialmente ou com simultaneidade limitada. É claro que isso traz outra categoria de problemas, como lidar com cargas de trabalho travadas que impedem a execução de outras :)

informação relacionada