Cronogramas no Jitterbit Design Studio
No Jitterbit, as operações podem ser executadas de várias maneiras, como manualmente, automaticamente por meio de uma chamada de API ou automaticamente por meio de um agendamento. Esta página aborda a configuração de um agendamento para executar sua operação automaticamente.
Os cronogramas contêm informações sobre quando uma operação será ativada automaticamente. O Jitterbit permite que você defina virtualmente qualquer tipo de cronograma que precisar, como toda sexta-feira às 17h, a última sexta-feira de cada trimestre ou a cada hora de um dia.
Crie uma agenda
Você pode escolher criar uma nova programação por conta própria ou dentro de uma operação existente. As programações devem ser atribuídas a uma operação para serem aplicáveis a essa operação. Para obter mais informações sobre como criar operações, consulte Criar uma operação.
Dica
A partir da versão 9.0, outro lugar onde você pode criar e aplicar agendamentos é no Management Console. As alterações de agendamento feitas por meio do Management Console entram em vigor imediatamente, sem a necessidade de reimplantar o projeto no Harmony. Para obter mais informações, consulte Projetos.
Criar nova programação
Existem várias maneiras de criar um novo cronograma como um item de projeto independente no Design Studio:
- Vá em Arquivo > Novo > Nova programação.
- Na árvore à esquerda, clique com o botão direito do mouse em Agendamentos e selecione Novo agendamento.
- Na barra de ferramentas superior, clique no ícone de agendamento .
Nota
Se você criar uma programação por meio de um dos métodos acima, observe que ela não está associada a nenhuma operação. Para usar a programação em uma operação, siga Usar programação existente em uma operação existente abaixo.
Criar nova programação em uma operação existente
Você também pode criar um novo cronograma como um item de projeto que já esteja atribuído a uma operação no Design Studio. Para fazer isso:
- Dentro de uma operação, clique na seta para baixo ou clique com o botão direito do mouse no plano de fundo da operação e selecione Programação > Selecionar programação > Criar nova programação.
Use o cronograma existente em uma operação existente
Se você já tiver uma operação e um cronograma criados, há várias maneiras de adicionar um cronograma existente a uma operação existente no Design Studio:
- Dentro de uma operação, clique na seta para baixo ou clique com o botão direito do mouse no plano de fundo da operação, selecione Programação > Selecionar programação e escolha a programação existente.
- Dentro da operação, clique duas vezes no título da operação para abrir a janela Configurar Operação. Expanda a seção Programação, use o menu suspenso Programação para selecionar a programação existente.
- Arraste o cronograma existente da árvore à esquerda e solte-o no plano de fundo da operação.
Cuidado
Se você estiver usando uma programação existente em várias operações, tome cuidado ao editar a programação, pois as alterações na programação afetarão todas as operações que usam essa programação.
Editar agendamento
Após criar um novo cronograma, a tela de configuração será aberta na visualização principal do Design Studio. Você pode voltar para a tela de configuração a qualquer momento de uma das seguintes maneiras:
- Clique duas vezes na programação na árvore à esquerda.
- Dentro da operação, clique no ícone de agendamento e selecione Editar programação.
- Dentro da operação, clique na seta para baixo ou clique com o botão direito do mouse no plano de fundo da operação e selecione Programação > Editar programação.
Configuração básica
A tela de configuração deve ser semelhante ao exemplo abaixo. Cada opção configurável é explicada a seguir.
-
Nome: Insira um nome para sua nova programação. Você pode querer dar à programação um nome que reflita a frequência da programação ou, se usado para uma operação específica, que reflita o propósito da programação (por exemplo, "A cada 5 minutos" ou "Sincronização de contatos").
-
Ocorrência: Selecione uma das três opções para os dias em que o cronograma deve iniciar a(s) operação(ões) em que foi atribuído:
-
Diariamente: O agendamento ativará a operação todos os dias, ou a cada poucos dias. Quando esta opção é selecionada, o seguinte fica disponível para configuração:
- A cada [#] dia(s): Insira um número de dias entre as execuções da operação.
-
Semanalmente: O agendamento ativará a operação durante um conjunto especificado de dias da semana. Quando esta opção é selecionada, o seguinte fica disponível para configuração:
- A cada [#] semana(s): Insira um número de semana(s) entre as execuções da operação.
- [Dom, Seg, Ter, Qua, Qui, Sex, Sáb]: Marque as caixas ao lado do(s) dia(s) da semana em que deseja que a operação seja executada.
-
Mensal: O agendamento ativará a operação mensalmente. Quando esta opção for selecionada, escolha uma das duas opções que se tornam disponíveis para configurar:
- Dia [#] de cada [#] mês(es): Insira o dia do mês e o número de meses entre as execuções da operação.
- O [1º, 2º, 3º, 4º ou último] [Dia da semana] de cada [#] mês: Use os menus suspensos para selecionar o dia do mês e insira o número de meses entre as execuções da operação.
-
-
Frequência diária: Selecione uma das duas opções para os horários em que o agendamento deve iniciar a operação nos dias em que ele é executado:
-
Ocorre uma vez em [hh:mm] [AM/PM]: O agendamento ativará a operação apenas uma vez no horário especificado. Use os menus suspensos para selecionar a(s) hora(s), minuto(s) e hora do dia em que deseja que a operação seja executada.
-
Ocorre a cada [#] [Minuto(s)/Hora(s)] Começando em [hh:mm] [AM/PM] e Terminando em [hh:mm] [AM/PM]: O agendamento reativará repetidamente a operação pelo período de tempo especificado ao longo do dia. Insira um número para corresponder à seleção suspensa de minuto(s) ou hora(s) em que você deseja que a operação seja executada, juntamente com as seleções suspensas de quaisquer horários ao longo do dia em que você deseja limitar a execução da operação.
Nota
Os fusos horários são discutidos abaixo em Fusos horários de operação.
-
-
Duração: Configure as datas de duração para o agendamento.
Nota
As datas de início e término em uma programação são inclusivas, o que significa que a programação estará ativa durante a parte restante do dia tanto na data de início quanto na data de término.
- Começando em: Por padrão, a programação estará ativa a partir da data atual. Se você quiser especificar uma data de início diferente, clique no ícone de calendário para abrir um seletor de data de calendário e selecionar a data desejada.
- Terminando em: Por padrão, a(s) operação(ões) na(s) qual(is) o cronograma é atribuído será(ão) executada(s) indefinidamente conforme o cronograma. Se você quiser especificar uma data de término, clique no ícone de calendário para abrir um seletor de datas de calendário para selecionar a data desejada. O agendamento ficará ativo até o final da data final.
Dica
Depois de configurar um agendamento e atribuí-lo a uma operação, é uma prática recomendada colocar uma mensagem de email On Failure na operação agendada. Consulte Criar uma mensagem de email para mais informações.
Fusos horários de operação
Ao configurar um agendamento, o campo Frequência Diária não exibe o fuso horário no qual a operação será executada. O fuso horário no qual a operação será executada depende do agente que está executando a operação, a menos que a configuração Substituir Fuso Horário do Agente de Agendamento esteja habilitada nas políticas da sua organização:
-
Fuso horário do Agente
- Agentes de nuvem: Todos os agentes de nuvem estão em UTC.
- Agentes privados: Os fusos horários dos agentes privados são determinados pelo fuso horário do sistema operacional do agente privado. É altamente recomendável que todos os agentes em um grupo de agentes privados estejam em execução no mesmo fuso horário, ou os horários em que uma programação configurada inicia a operação podem ser imprevisíveis, dependendo do agente específico que está sendo usado.
Ao usar a versão 10.85/11.23 ou posterior do agente, e o agente estiver usando um fuso horário que observa o horário de verão, estas ações ocorrem durante uma troca de horário de verão:
-
Quando uma programação de uma vez ao dia for definida entre 2h e 3h, a operação programada será realizada às 3h do segundo domingo de março.
-
Quando uma programação de uma vez por dia é definida entre 1h e 2h, a operação programada será executada na segunda instância de 1h do primeiro domingo de novembro.
Um problema conhecido existe para os cenários acima ao usar a versão do agente 10.84 / 11.22 e anteriores.
Dica
Para consistência de agendamento, é recomendável usar um fuso horário que não observe o horário de verão, como UTC (os agentes de nuvem usam UTC por padrão). Se estiver usando um agente privado, você pode usar a configuração Substituir fuso horário do Agente de agendamento e selecionar Etc/UTC.
-
Substituir fuso horário do Agente de programação
- Se a configuração Substituir fuso horário do Agente de programação estiver habilitada nas políticas da sua organização, o fuso horário selecionado determinará o fuso horário no qual todos os cronogramas atuais e futuros em uma organização serão executados.
Configuração avançada com script
Se as opções disponíveis na interface do usuário, conforme descrito acima em Configuração básica não atendem às suas necessidades comerciais, você pode executar uma configuração adicional do cronograma usando scripts.
Nota
Se você tiver a configuração Substituir fuso horário do Agente de programação habilitada nas políticas da sua organização, qualquer scripts que use funções de data e hora conforme descrito aqui não será substituído pelo fuso horário selecionado.
Como exemplo, um caso de uso comum pode ser criar um cronograma para executar a operação no último dia do mês. As etapas a seguir percorrem esse caso de uso:
-
Crie uma nova programação e configure-a para ser executada todos os dias em um horário apropriado, conforme descrito anteriormente nesta página.
-
Crie uma nova operação com um item de projeto de script Jitterbit conforme descrito em Criar um script.
-
Atribua o agendamento à operação de script que você acabou de criar.
-
Abra o script e digite o seguinte para verificar o último dia do mês e executar uma operação se for verdadeiro:
<trans> if(DayOfMonth(LastDayOfMonth(Now()))==DayOfMonth(Now()), RunOperation("<TAG>Operations/Some Operation to Run</TAG>") ); </trans>
-
As operações devem ser semelhantes às seguintes quando essas etapas forem concluídas:
Definir política de agendamento
Sempre que um novo agendamento é criado, ele é definido por padrão para que qualquer operação seja ignorada no caso de uma instância previamente agendada da mesma operação ainda estar em execução. Esta é a melhor prática recomendada na maioria das situações, mas pode ser alterada para permitir que uma operação seja iniciada mesmo se uma instância previamente agendada ainda estiver em execução.
Isso deve ser feito somente se você tiver um requisito especial para isso. Se você fizer essa alteração, deve ter certeza de que ter operações simultâneas não será prejudicial ao potencialmente processar os mesmos registros de dados de origem várias vezes.
Esta configuração pode ser acessada a partir da operação das seguintes maneiras:
- Dentro da operação, clique no ícone de agendamento e selecione Agendar política > Ignorar execução se a operação agendada anteriormente ainda estiver em execução ou Iniciar mesmo se a operação agendada anteriormente ainda estiver em execução.
- Dentro da operação, clique na seta para baixo ou clique com o botão direito do mouse no plano de fundo da operação e selecione Agendar > Agendar política > Ignorar execução se a operação agendada anteriormente ainda estiver em execução ou Iniciar mesmo se a operação agendada anteriormente ainda estiver em execução.
- Dentro da operação, clique duas vezes no título da operação para abrir a janela Configurar operação. Expanda a seção Programação, use o menu suspenso Programação para selecionar a programação apropriada e selecione Ignorar execução se a operação programada anteriormente ainda estiver em execução ou Iniciar mesmo se a operação programada anteriormente ainda estiver em execução.
Se usar agentes privados, uma avaliação adicional deve ser feita para garantir que cronogramas agressivos não sobrecarreguem seu grupo de agentes, causando um acúmulo de operação.
Os agentes privados têm como padrão a capacidade de executar até duas vezes a contagem de sua CPU por máquina agente. Então, se sua máquina agente privada tiver 4 núcleos de CPU, você poderá processar até 8 operações simultâneas.
Ao avaliar seus requisitos de negócios, algumas de suas operações podem ser mais dependentes de tempo do que outras. Se várias operações não críticas acumulassem sua fila de agentes, suas operações mais críticas poderiam ser afetadas. Para evitar isso, simplesmente determine o número de operações que seu grupo de agentes pode processar simultaneamente e, em seguida, equilibre isso com a prioridade de negócios e a duração do tempo de execução de suas operações programadas.
Habilitar ou desabilitar agendamento
Depois de atribuir uma programação a uma operação, você pode optar por desativá-la ou reativá-la (se desativada) remotamente por meio do Management Console dos Projetos página.
Aviso
Lembre-se de desabilitar sua programação, pois essa funcionalidade está disponível apenas no Management Console e pode não ser óbvio no Design Studio que a programação foi desabilitada remotamente.
Na página Projetos, selecione uma linha dentro da tabela Projetos para exibir guias adicionais na parte inferior da página. Você pode habilitar ou desabilitar um agendamento para uma única operação ou para todo o projeto da seguinte forma:
-
Operações: Na aba Operações, a coluna Status exibe o status de quaisquer programações atribuídas à operação. Clique no botão de alternância para alternar uma programação existente entre ligada ou desligada, habilitando ou desabilitando efetivamente a programação para essa operação.
-
Schedules: Na aba Schedules, a coluna Scheduled exibe o status de quaisquer programações atribuídas a operações dentro do projeto. Clique no botão de alternância para alternar uma programação existente entre ligada ou desligada, habilitando ou desabilitando efetivamente a programação para todo o projeto.
Cuidado
Habilitar ou desabilitar uma programação usada em várias operações afetará todas as operação que usam a programação.
Remover agendamento
Se você tiver um cronograma atribuído a uma operação, você pode removê-lo da operação das seguintes maneiras. Isso não excluirá o cronograma como um item de projeto, mas simplesmente o desatribuirá da operação.
- Dentro da operação, clique no ícone de agendamento e selecione Remover programação.
- Dentro da operação, clique na seta para baixo ou clique com o botão direito do mouse no plano de fundo da operação e selecione Agendar > Remover agendamento.
- Dentro da operação, clique duas vezes no título da operação para abrir a janela Configurar Operação. Expanda a seção Programação, use o menu suspenso Programação para selecionar (nenhum).
Cronograma de solução de problemas
Se sua programação não estiver funcionando conforme o esperado, verifique os seguintes itens para ajudar a diagnosticar e resolver problemas o problema:
-
Você implementou a operação à qual o cronograma está atribuído?
Os agendamentos devem ser atribuídos a uma operação para que sejam acionados. Depois que você salvar um agendamento em uma operação, ele não entrará em vigor até que seja implantado. -
Sua agenda está habilitada?
Os agendamentos podem ser desabilitados e reabilitados somente no Web Management Console. Verifique a página Projetos nas guias Operações e Agendamentos para certificar-se de que seu agendamento esteja habilitado. -
Você sabe em que fuso horário está sua agenda?
Os fusos horários são discutidos em Fusos horários de operação. -
Se você estiver usando um agente privado, o serviço de agendamento está funcionando?
Na máquina onde o agente privado está instalado, verifique se o Jitterbit Scheduler e o Jitterbit Scheduler Service estão em execução. No Windows, isso pode ser verificado por meio do Gerenciador de Tarefas em Processos. No Linux e no Docker, use ojitterbit status
comando. -
Se você estiver usando um agente particular, as agendas agressivas estão sobrecarregando seu grupo de agentes?
Se estiver usando agentes privados, uma avaliação adicional deve ser feita para garantir que cronogramas agressivos não sobrecarreguem seu grupo de agentes, causando um acúmulo de operação.Os agentes privados têm como padrão a capacidade de executar até duas vezes sua contagem de CPI por máquina de agente. Então, se sua máquina de agente privado tiver 4 núcleos de CPU, você poderá processar até 8 operações simultâneas.
Ao avaliar seus requisitos de negócios, algumas de suas operações podem ser mais dependentes de tempo do que outras. Se várias operações não críticas acumulassem sua fila de agentes, suas operações mais críticas poderiam ser afetadas. Para evitar isso, simplesmente determine o número de operações que seu grupo de agentes pode processar simultaneamente e, em seguida, equilibre isso com a prioridade de negócios e a duração do tempo de execução de suas operações programadas.