Manuseio gracioso de tarefas agendadas dependentes?
-
05-07-2019 - |
Pergunta
Diga que tenho dois processos programados: A e B.
Dado que B não deve ser executado até que A tenha sido concluído, como posso aplicar graciosamente essa dependência?
Abordagens que foram consideradas:
Tenha um cronograma B após a conclusão. Isso tem a desvantagem de B nunca sendo agendado se, por algum motivo, falhar.
Quando B executar, faça com que o Ping A para ver se o último foi concluído. Como isso pode ser realizado (rede, arquivo, registro de banco de dados, fila de mensagens) pode ser confuso e problemático introduzindo uma terceira dependência.
Combine A e B em um único processo. Isso tem a desvantagem de amarrar firmemente os dois, dificultando a execução de um ou outro isoladamente, se necessário.
Pensamentos?
Solução
Sua opção 1 responde diretamente à sua pergunta: se B depende de A e A falha, A não agenda B significa que B não pode acontecer.
A menos que B apenas tenha que correr depois de um, seja ou não um sucesso ou não.
Nesse caso, algo como o seguinte (em Bash) funcionaria:
A && B
Outras dicas
Você pode modificar a Etapa 3: Crie seus dois processos para ser executado isoladamente e, em seguida, criar um terceiro processo que execute os outros dois.