Agendador Linux tolerante a inatividade com precisão minuto a minuto

2

Eu tenho um servidor no qual desejo agendar trabalhos e preciso especificar quando esses trabalhos acontecem no minuto. Haverá muitos empregos. (Coisas como enviar notificações por e-mail para clientes).

Isso soa como o trabalho perfeito para o cron, no entanto, eu preciso ser capaz de lidar com o tempo de inatividade. No caso de inatividade, não posso esperar até que o anacron seja executado no final do dia para reconciliar todas as tarefas perdidas.

Se eu tiver um pouco de tempo de inatividade, preciso que todas as tarefas atrasadas sejam executadas na inicialização.

Por exemplo:

  • A tarefa está marcada para 17:36
  • A máquina é desligada às 17:33
  • A máquina inicializa às 17:40
  • A tarefa está atrasada e deve ser executada assim que possível.

Existe uma maneira de alterar o anacron em algo que é executado na inicialização e executa todos os trabalhos agendados vencidos?

Ou há alguma outra solução comum para esse problema?

    
por ddouglascarr 13.11.2015 / 04:37

2 respostas

3

O cron / anacron não é construído com cenários tolerantes a falhas ou altamente disponíveis. Se o seu trabalho é muito crítico, acho que o link do Jobscheduler será benéfico para você. Apenas um heads-up, não é fácil de configurar e vai demorar um pouco para se familiarizar, mas é a melhor ferramenta para agendar

    
por 13.11.2015 / 06:19
2

Qualquer um dos sistemas de filas de trabalho deve ser capaz de fazê-lo. Aipo, Resque, Sidekiq, backgroundjob, etc etc etc Alguns deles têm built-in, outros têm um plugin que adiciona despacho cronológico.

    
por 13.11.2015 / 04:41

Tags