A Autosys pode aplicar cálculos, como máscaras de bits, a valores de status retornados de jobs?

3

Eu gostaria de criar um trabalho que pesquise uma caixa de correio para um dos vários e-mails com anexos (não me pergunte por que a empresa não vai desembolsar para o serviço da web, mas lá estamos nós). Os emails podem aparecer em ordem arbitrária e o processo pesquisará a caixa de correio, baixará os anexos encontrados e retornará um código de status que contém uma máscara de bit de bits de status com base nos arquivos encontrados.

Eu quero que o lote autosys inicie um trabalho de processamento para cada arquivo, dependendo se o bit relevante no resultado do status foi definido. Uma posição de retorno para um pequeno número de trabalhos é que verificamos cada combinação única de bits e iniciamos os trabalhos apropriados que correspondem ao número retornado. No entanto, além de 2-3 bits de status, isso começará a ficar pesado.

É possível que a Autosys veja bits específicos em um valor de retorno de alguma maneira - equivalente a:

  • Se o bit 0 for definido (resultado & 0x01 = 0x01), execute o trabalho A
  • Se o bit 1 estiver definido (resultado & 0x02 = 0x02), execute o trabalho B
  • Se o bit 2 for definido (resultado & 0x04 = 0x04), execute o Job C

... e assim por diante?

    
por ConcernedOfTunbridgeWells 26.04.2012 / 15:08

1 resposta

1

Parece que você está procurando implementar algum tipo de controle de fluxo. Por favor, tenha em mente que a Autosys não sabe nada sobre seus e-mails ou códigos personalizados ou outros enfeites. Ele toma decisões com base em condições prévias e fluxo de trabalho.

No seu caso, eu faria algo assim com a caixa MAIL_BATCH. Dentro, há um comando MAIL_CHECK que vai e faz sua pesquisa e outros, e retorna um código de saída de (0,1,2,3). Então, 0-2 são suas condições para o trabalho A, B, C e 3 é a sua condição de erro. Em seguida, você tem seus comandos MAIL_JOB_A, MAIL_JOB_B, MAIL_JOB_C e baseia sua decisão de execução no código de retorno de antes. Então MAIL_JOB_A tem a condição prévia S (MAIL_JOB_CHECK) AND E (MAIL_JOB_CHECK) = 0. O próximo trabalho verificaria que E (MAIL_JOB_CHECK) = 1 etc.

    
por 09.05.2012 / 23:34

Tags