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:

  1. Tenha um cronograma B após a conclusão. Isso tem a desvantagem de B nunca sendo agendado se, por algum motivo, falhar.

  2. 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.

  3. 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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top