Dicas para Configurar Definições do Fluxo de Batch do Scheduler

Configurando definições do fluxo de batch do scheduler para evitar o problema de fluxo aberto

As definições do fluxo de batch do scheduler devem ser sempre configuradas de forma que o fluxo "termine" apenas quando todas as etapas do fluxo forem concluídas, configurando-a na condição de etapa "fim do fluxo" ou definindo as interdependências entre as etapas. Isso garante que a execução do fluxo de batch do scheduler não pare no meio do fluxo.

Transferindo definições do fluxo de tarefa em batch para o scheduler de batch SaaS

É recomendável que os clientes que estejam atualizando versões anteriores da nuvem usando o Oracle Scheduler planejem a transferência e a migração de definições do fluxo de tarefa em batch existentes para o Scheduler de Batch SaaS. As etapas recomendadas são:
  • (Etapa Opcional) Migrar as definições do fluxo de tarefa em batch existentes do ambiente de produção para qualquer ambiente de pré-produção.

  • Em qualquer ambiente de pré-produção, use a opção de transferência para mover a definição do fluxo de tarefa em batch existente para a definição do fluxo de batch do scheduler (novo objeto para o Scheduler de Batch SaaS).

  • Realizar um teste completo das definições de fluxo de batch do scheduler recém-criadas.

  • Antes de migrar para os ambientes de destino, as definições do fluxo de tarefa em batch no ambiente de destino devem ser canceladas (se necessário) e excluídas.

  • Migrar as definições do fluxo de batch do scheduler recém-criado usando o Assistente de Migração de Conteúdo (CMA) para produção. Os Planos de Migração para definições do fluxo de batch do scheduler estão disponíveis para revisão.

As tarefas que passaram da meia-noite devem ter a mesma data comercial que outras tarefas em um fluxo

Em situações nas quais um fluxo de batch do scheduler é executado muito longo e algumas tarefas passaram da meia-noite, é possível definir que todas as tarefas do fluxo de batch do scheduler sejam executadas com a mesma data comercial. Definir o valor da opção de data comercial na definição do fluxo de batch do scheduler como "SYSDATE" e o mecanismo do scheduler processa todas as etapas no fluxo do batch do scheduler com a mesma data em que o fluxo foi iniciado.

Como dividir um fluxo grande em vários fluxos menores

Se a Definição do Fluxo de Batch do Scheduler for muito longa com muitas tarefas a serem executadas, ela poderá ser dividida em vários fluxos menores, de forma que um fluxo seja executado após o outro. Isso pode ser feito usando um novo controle batch K1-RNSBS (Executar Fluxo de Batch do Scheduler). Crie um Controle de Batch de Scheduler de Batch para cada subfluxo, especifique o controle batch como K1-RNSBS, o nome do parâmetro de batch como o nome do subfluxo. Use este Controle de Batch de Scheduler de Batch como uma última etapa no fluxo anterior antes que ele termine para que, assim que as etapas do fluxo anterior forem concluídas, a última etapa inicie o novo subfluxo. Por exemplo, se você tiver um fluxo com os jobs A,B,C,B,E,F,G,H. Divida o fluxo no fluxo 1 com A, B, C, D e fluxo 2 com E, F, G, H. Crie um Controle de Batch de Scheduler de Batch com controle batch K1-RNSBS, o nome do parâmetro de batch como fluxo 2. No fluxo 1 após a etapa D, defina uma nova etapa que chame o Controle de Batch de Scheduler de Batch criado. Observe que não há dependências entre subfluxos. Isso significa que cada subfluxo seria iniciado pelo novo controle de lote para ser executado por conta própria e o fluxo que chamou o subfluxo não aguarda a conclusão. Portanto, essa configuração deve ser usada apenas com as etapas executadas em paralelo.
Observação: os subfluxos seguem a programação do fluxo principal. Geralmente, a programação em um subfluxo não é suportada.

Como configurar definições do fluxo de batch do scheduler para execução somente nas datas do calendário de trabalho do OUAF

Para configurar a Definição do Fluxo de Batch do Scheduler para ser executada apenas em dias úteis, use o controle batch K1-CWCEL. Crie um Controle de Batch de Scheduler de Batch com este controle batch, parâmetro de batch Calendário de Trabalho definido como calendário de trabalho obrigatório. Verifique se Executar em Dia Útil está definido como verdadeiro. Use este Controle de Batch de Scheduler de Batch como a primeira etapa a ser executada no fluxo. Defina o fluxo para terminar se esta etapa falhar. Defina a etapa subsequente do fluxo a ser executada se essa etapa for bem-sucedida. Quando o fluxo é executado em um dia programado, a primeira etapa verifica se o dia cai em um dia útil de acordo com o calendário de trabalho. Se o dia não for um dia útil, a execução do fluxo terminará, garantindo que o fluxo seja executado somente nas datas desejadas.

Definições do fluxo de batch do scheduler que verificam a existência de um arquivo

Em situações em que uma definição do fluxo de batch do scheduler precisa verificar se um arquivo foi carregado/criado por outro processo antes de continuar com o restante do processamento, fica disponível um programa em batch especial "K1-OSCFE". Uma etapa de fluxo pode ser introduzida referindo-se a esse novo programa em batch com parâmetro especificando qual intervalo de tempo de armazenamento de objetos deve ser verificado e o status a ser retornado caso o arquivo não exista. Esta etapa do fluxo pode ser adicionada antes da etapa que tem dependência de verificar a existência do arquivo e continuar ou não o processamento.

Tratando interdependências de definições do fluxo de batch do scheduler

Em situações em que um fluxo do batch do scheduler não deva ser executado quando outro fluxo de batch do scheduler estiver em execução, as interdependências entre essas definições do fluxo de batch do scheduler podem ser configuradas usando um programa em batch especial "K1-CKCCR". As etapas a seguir são necessárias para configurar essa configuração.
  • O novo programa em lote aceita dois parâmetros de nome de script e dados de script. Escreva um script CM que verifique se um fluxo de tarefas dependente está em execução. Se estiver em execução, o script deverá terminar com um erro.

  • No fluxo de batch do scheduler que precisa ser pausado/em espera se outro fluxo de tarefa estiver em execução, adicione uma nova etapa do fluxo como a primeira etapa do fluxo de tarefa. Use o novo programa em batch na primeira etapa (definindo o script CM como o parâmetro de entrada) ou crie um controle de batch de scheduler de batch se o controle batch for usado em muitos fluxos de tarefas com scripts de serviço CM diferentes como parâmetros de entrada. Defina o nome do fluxo de tarefas dependente como o parâmetro de dados de script.
  • Atualize a condição da etapa "Fim do Fluxo" de forma que, se a primeira etapa falhar, finalize o fluxo. Isso garante que o fluxo de batch do scheduler não seja executado se outro fluxo de batch do scheduler dependente já estiver em execução.
  • Atualize a(s) etapa(s) a ser(em) executada(s) após a primeira etapa, a condição da etapa que, se a primeira etapa for bem-sucedida somente, essas etapas deverão continuar.

Observação: o programa em lote especial não está restrito apenas a essas situações. Ele pode ser usado em muitos cenários personalizados gravando o script CM correspondente que termina se uma situação desejada for atendida.