Tenho uma pergunta estranha (pelo menos para mim!), mas não tenho certeza de como abordá-la.
Fundo
Eu tenho alguns trabalhos em lote (scripts python chamados via cron ou script python sendo chamados pelo script bash). Por exemplo, 20 trabalhos de ETL e 20 trabalhos de processamento de dados. Isso ocorre em momentos diferentes.
Abordagem atual
Eu mantenho meu servidor ligado e executo tarefas cron para executar os scripts no horário pretendido (nem todos são executados ao mesmo tempo... um pode ser executado às 13h, enquanto outro é executado às 17h). Isso está funcionando perfeitamente agora
Problema Quero economizar dinheiro e os trabalhos não precisam começar exatamente no horário que defini, eles podem demorar alguns minutos, uma ou duas horas, então estava pensando em usar instâncias preemptivas que iniciam o servidor de acordo com uma programação.
Eu estava pensando em iniciar o servidor a cada hora e então ele processar todos os trabalhos que já passaram do cronograma e que ainda não foram concluídos.
Eu não tenho nenhuma idéia de como fazer isso! Existe uma maneira de agendar isso no Ubuntu? Pensei em configurar um banco de dados externo e ter um script que o consultasse para ver quais processos precisam ser iniciados, mas achei um exagero, suspeito que talvez seja um problema comum que tenha uma solução mais simples.
Por favor, me avise!