Cronogramas no Jitterbit Design Studio
No Jitterbit, as operações podem ser executadas de diversas 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 definir praticamente qualquer tipo de cronograma necessário, como toda sexta-feira às 17h, a última sexta-feira de cada trimestre ou a cada hora de um dia.
Cuidado
Ao migrar um projeto, observe estas considerações sobre cronogramas:
- Ao migrar uma operação do ambiente de origem com um agendamento atribuído e desabilitado para um ambiente de destino, o agendamento da operação resultante no ambiente de destino é habilitado por padrão. Para impedir que tais operações sejam executadas conforme um agendamento, você pode desabilitá-lo na aba Agendamentos nos Projetos do Console de Gerenciamento página.
- Ao migrar uma operação de ambiente de origem sem um cronograma atribuído para uma operação de ambiente de destino com um cronograma atribuído, a operação resultante no ambiente de destino não terá um cronograma atribuído.
Crie uma programação
Você pode optar por criar uma nova programação individualmente ou dentro de uma operação existente. As programações devem ser atribuídas a uma operação para serem aplicáveis a 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 cronograma 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 já 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 Agendar > Selecionar agendamento > Criar novo agendamento.
Use o cronograma existente em uma operação existente
Se você já tiver uma operação e um cronograma criado, 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 Agendar > Selecionar agendamento e escolha o agendamento 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 Agendamento e use o menu suspenso Agendamento para selecionar o agendamento 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 editá-la, pois alterações nela afetarão todas as operações que a utilizam.
Editar agendamento
Após criar um novo cronograma, a tela de configuração será aberta na visualização principal do Design Studio. Você pode retornar à 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 Agendar > Editar agendamento.
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 o seu novo agendamento. Você pode dar ao agendamento um nome que reflita a frequência do agendamento ou, se usado para uma operação específica, que reflita a finalidade do agendamento (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 está atribuído:
-
Diariamente: A programação ativará a operação todos os dias ou a cada poucos dias. Ao selecionar esta opção, os seguintes itens ficam disponíveis para configuração:
- A cada [#] dia(s): Insira um número de dias entre as execuções da operação.
-
Semanal: A programação ativará a operação durante um conjunto específico de dias da semana. Ao selecionar esta opção, os seguintes itens ficam disponíveis para configuração:
- A cada [#] semana(s): Insira um número de semanas 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. Ao selecionar esta opção, escolha uma das duas opções disponíveis para configuração:
- 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 às [hh:mm] [AM/PM]: A programação ativará a operação apenas uma vez no horário especificado. Use os menus suspensos para selecionar a(s) hora(s), minuto(s) e horário do dia em que deseja que a operação seja executada.
-
Ocorre a cada [#] [Minuto(s)/Hora(s)] Começando às [hh:mm] [AM/PM] e Terminando às [hh:mm] [AM/PM]: O agendamento reativará a operação repetidamente pelo período de tempo especificado ao longo do dia. Insira um número correspondente à seleção suspensa de minuto(s) ou hora(s) em que 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 do 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 o restante do dia, tanto na data de início quanto na data de término.
- A partir de: Por padrão, a programação estará ativa a partir da data atual. Se desejar 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) às quais o agendamento é atribuído será(ão) executada(s) indefinidamente, de acordo com o agendamento. Se desejar especificar uma data de término, clique no ícone de calendário
para abrir um seletor de datas no calendário e selecionar a data desejada. O agendamento ficará ativo até o final da data de término.
- A partir de: Por padrão, a programação estará ativa a partir da data atual. Se desejar especificar uma data de início diferente, clique no ícone de calendário
Dica
Após configurar um agendamento e atribuí-lo a uma operação, é recomendável inserir 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 em que a operação será executada. O fuso horário em que a operação será executada depende do agente que a operação, a menos que a configuração Substituir Fuso Horário do Agente Agendado 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 em uso.
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 alternância de horário de verão:
-
Quando uma programação de uma vez por dia for definida entre 2h e 3h, a operação programada será executada às 3h do segundo domingo de março.
-
Quando uma programação diária é definida entre 1h e 2h, a operação programada será executada na segunda ocorrência de 1h do primeiro domingo de novembro.
Um problema conhecido existe para os cenários acima ao usar a versão 10.84 / 11.22 e anteriores do agente.
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 agendamento
- Se a configuração Substituir fuso horário do Agente de agendamento estiver habilitada nas políticas da sua organização, o fuso horário selecionado determinará o fuso horário em que todas as programações atuais e futuras de uma organização serão executadas.
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 atenderem às suas necessidades comerciais, você pode realizar configurações adicionais do cronograma usando scripts.
Nota
Se você tiver a configuração Substituir fuso horário do Agente de agendamento 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.
Por exemplo, um caso de uso comum pode ser a criação de um cronograma para executar a operação no último dia do mês. Os passos a seguir explicam 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 após a conclusão destas etapas:
Definir política de agendamento
Sempre que um novo agendamento é criado, é definido por padrão que qualquer operação seja ignorada caso uma instância agendada anteriormente da mesma operação ainda esteja em execução. Esta é a prática recomendada na maioria das situações, mas pode ser alterada para permitir que uma operação seja iniciada mesmo que uma instância agendada anteriormente ainda esteja em execução.
Isso só deve ser feito se você tiver uma necessidade especial. Se fizer essa alteração, certifique-se de que ter operações simultâneas não será prejudicial ao 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 Agendamento, use o menu suspenso Agendamento para selecionar o agendamento apropriado e selecione 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.
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.
Por padrão, agentes privados podem executar até o dobro da capacidade da sua CPU por máquina. Portanto, se a sua máquina tiver 4 núcleos de CPU, você poderá processar até 8 operações simultâneas.
Ao avaliar suas necessidades 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 acumularem na fila de agentes, suas operações mais críticas poderão ser afetadas. Para evitar isso, basta determinar o número de operações que seu grupo de agentes pode processar simultaneamente e, em seguida, comparar isso com a prioridade de negócios e a duração do tempo de execução das suas operações agendadas.
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 na tabela Projetos para exibir guias adicionais na parte inferior da página. Você pode ativar ou desativar um cronograma para uma única operação ou para todo o projeto da seguinte maneira:
-
Operações: Na aba Operações, a coluna Status exibe o status de quaisquer agendamentos atribuídos à operação. Clique no botão de alternância para ativar ou desativar um agendamento existente, habilitando ou desabilitando efetivamente o agendamento para essa operação.
-
Cronogramas: Na aba Cronogramas, a coluna Cronogramas exibe o status de todos os cronogramas atribuídos às operações do projeto. Clique no botão de alternância para ativar ou desativar um cronograma existente, habilitando ou desabilitando o cronograma para todo o projeto.
Cuidado
Habilitar ou desabilitar uma programação usada em várias operações afetará todas as operação que usarem a programação.
Remover agendamento
Se você tiver um cronograma atribuído a uma operação, poderá 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 Agendamento e use o menu suspenso Agendamento para selecionar (nenhum).
Cronograma de solução de problemas
Se sua agenda 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 de salvar um agendamento em uma operação, ele só entrará em vigor após ser implantado. -
Sua agenda está habilitada?
Os agendamentos só podem ser desativados e reativados no Management Console Web. Verifique a página Projetos nas abas Operações e Agendamentos para garantir que seu agendamento esteja ativado. -
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 particular, 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.Agentes privados, por padrão, conseguem executar até o dobro da sua contagem de CPI por máquina de agente. Portanto, se a sua máquina de agente privado tiver 4 núcleos de CPU, você poderá processar até 8 operações simultâneas.
Ao avaliar suas necessidades 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 acumularem na fila de agentes, suas operações mais críticas poderão ser afetadas. Para evitar isso, basta determinar o número de operações que seu grupo de agentes pode processar simultaneamente e, em seguida, comparar isso com a prioridade de negócios e a duração das operações tempo de execução.