Skip to main content

Executando um script

Sabemos que um script pode ter várias versões, pois são artefatos que passaram por modificações, alterações por algum motivo. Para visualizar como ficou determinada alteração, é necessário pressionar o botão EXECUTAR.

executando

Ao clicar no botão mencionado acima abrirá a tela de execução de um script. Existem duas opções de execuções que podem ser habilitadas, a primeira delas denomina-se como Pública, ao executar o artefato com esse item marcado serão exibidos para todos os usuários que possuem esse script. Habilitando a opção Enviar por e-mail, é enviado o artefato via e-mail para os usuários inseridos logo abaixo do item mencionado.

Para executar marque as opções desejadas e pressione o botão EXECUTAR.

executando

As opções de execução ficam ocultas podendo ser acessadas quando desejado pelo usuário, essa melhoria tem o intuito de diminuir as informações apresentadas na tela de execução. Para visualizar as opções de execução pressione o botão OPÇÕES.

executando

executando

Marcando as opções desejadas, aparece um indicador de campo quando as informações estão ocultas.

executando

Quando as opções estiverem ocultas e houver opções com campos obrigatórios não preenchidos é exibido uma indicação de alerta.

executando

Todas as execuções são apresentadas na tela central e as informações são distribuídas em colunas.

executando

No ícone de engrenagem são apresentadas outras ações disponíveis no que diz respeito ao script executado.

executando

  • Reexecutar

Todas as reexecuções de extensões passam a considerar sempre a última versão da mesma. Quando a reexecução é solicitada a partir de uma versão desatualizada, é apresentada uma mensagem informativa para o usuário, conforme imagem abaixo.

executando

Caso algum parâmetro não possa ser preenchido da execução devido incompatibilidade de tipos entre as versões, é exibido uma notificação na tela.

executando

  • Parâmetros

Possibilita a visualização dos parâmetros criados pelo usuário desenvolvedor.

executando

  • Métricas

Um script quando executado pode ter mais de um ativo no banco de dados, possibilitando visualizar os ativos/recursos do script que foram acionados, Número de execuções, Duração da execução, Tamanho do payload (pacote de dados de envio ou entrega por uma API) e APDEX (métrica que mede a performance de uma API).

executando

Clicando sobre o ícone mostrado na imagem abaixo são apresentadas as informações da Duração, Tamanho do payload e APDEX.

executando

Clicando na engrenagem, a ferramenta disponibiliza uma amostragem da execução do campo exibindo detalhadamente todos os dados.

executando

executando

  • Log execução

Neste item é possível visualizar todo o conteúdo do log de execução de um script.

executando

  • Trace execução

O trace basicamente expõem algumas informações da execução de uma extensão, sendo particularmente útil em extensões que tem muitas dependências (um script que chama outro, ou faz uso de componentes, por exemplo), pois permite entender o passo a passo da execução de uma extensão.

executando

  • Execução pública

Marcando o parâmetro, a execução pública é exibida para todos os usuários que possuem acesso a esse script. Caso esteja desmarcado, apenas o usuário logado que executou o script pode visualizar o resultado da execução.

executando

  • Número de protocolo

De acordo com o número de protocolo os usuários conseguem obter detalhes da execução através de um ambiente público https://consulta-execucoes.cloud.betha.com.br/#/. Para visualizar todos os detalhes, copie o número do protocolo e acesse o link.

executando

executando

Insira o número do protocolo para obter todos os detalhes da execução.

executando

É possível consultar o protocolo da execução para obter informações importantes e relevantes acerca da execução realizada através do botão CONSULTAR localizado em Execuções > Ações disponíveis > Protocolo.

executando

Ao clicar no botão mencionado é possível visualizar todos os detalhes da execução, inclusive as opções APDEX de uma execução, proporcionando melhor visualização do desempenho das ferramentas da empresa através de uma legenda com cores diferenciadas e o Trace, que visa facilitar a observação do tempo gasto nas execuções, obtendo assim maior controle da qualidade do código executado.

executando

executando

executando

Na opção MARCADORES, são apresentadas informações dos marcadores customizados na aplicação. Logo abaixo, são mostradas informações relacionadas ao contexto da execução: Sistema e Entidade.

executando

É possível também visualizar todos os eventos realizados durante a execução de um script, exemplo: o usuário que executou, data e hora de início e fim do mesmo.

executando

Segue abaixo a lista dos eventos.

executando

Além das informações apresentadas acima, há também a opção Agendado por, que mostra a identificação do agendamento de forma programática.

executando

Todas as execuções recentes ficam disponíveis em uma aba específica do lado esquerdo da tela, para visualizá-las basta clicar no local mencionado.

executando

executando

Salvando parâmetros mais utilizados

Na tela de execução de script o usuário encontra os parâmetros cadastrados para que sejam preenchidos. Ao término do preenchimento dos itens desejados, é possível salvar os parâmetros. Para isso, pressione a flecha no botão EXECUTAR, facilitando assim, a visualização dos parâmetros mais utilizados.

executando

Insira uma descrição e clique em SALVAR ou SALVAR E EXECUTAR para gravar e executar o script. para anular a ação, pressione CANCELAR.

executando

Os parâmetros salvos ficam disponíveis no lado esquerdo da tela. Para visualizá-los clique em Parâmetros salvos e para carregá-los clique no parâmetro desejado.

Com esse recurso, a ferramenta possibilita que o usuário possua uma lista de parâmetros com informações salvas para quando desejar reexecutar o script. Também é possível editar as informações já cadastradas, basta alterar as informações e salvar novamente.

executando

Os parâmetros salvos não estão vinculados a uma versão específica da extensão, portanto, se o usuário editar e publicar uma nova, nada será modificado. A única alteração que terá é ao incluir um campo novo, a informação aparecerá na ferramenta sem informação nenhuma, ou seja, em branco. Para que a informação seja apresentada é necessário inserir o conteúdo no campo e salvar novamente.

executando

Agendando scripts

A ferramenta dispõe de um recurso facilitador para os usuários, são os agendamentos, possibilitando que seja programada uma execução para um determinado script. Clicando em Ações disponíveis no botão EXECUTAR existe a possibilidade de Agendar os Scripts.

executando

São apresentados 4 abas a serem preenchidas para que o agendamento se concretize, veja em detalhes abaixo.

executando

Configurando opções

Na primeira aba Configurar opções encontram-se as opções de execuções e se algum parâmetro for cadastrado aparecerá nessa tela para preenchimento.

executando

Definindo recorrência

Na segunda aba Definir recorrência são apresentados as informações referentes às repetições que esse script será executado. Perceba que todos os campos são de preenchimento obrigatórios e os campos comuns são Recorrência, Início e Termina.

No campo Recorrência, as opções de escolha são: diária, semanal, mensal, anual ou personalizada.

executando

No campo Início, informe uma data que dará início a execução e o envio do mesmo.

executando

No campo Termina o usuário precisa escolher entre as opções Nunca (não tem fim), Após algumas ocorrências (um novo campo é aberto para que seja informado a quantidade de ocorrências) e Em uma data específica (necessário informar a data de término).

executando

Dependendo da opção escolhida no campo Recorrência, outros campos são apresentados. Confira abaixo os detalhes de cada item:

Diária: optando por essa recorrência, o campo Repete a cada (dias) é exibido, é necessário que o usuário insira a quantidade de dias em que será repetido a execução do script.

executando

Semanal: informe os dias da semana que será executado e enviado o script.

executando

Mensal: neste item, dois novos campos são apresentados, onde o usuário informará os dias do mês e o(s) mês(es) de envio do script.

executando

Anual: escolhendo essa opção aparecerá apenas campos comuns a todas as opções, porém será executado e enviado o script 1 vez ao ano na data e hora estipulados no campo Início e terá um fim marcando o campo Termina.

executando

Personalizado: optando por essa recorrência, o campo Expressão de agendamento CRON é exibido, a expressão CRON é uma expressão que determina um agendamento que pode ser horários, datas, repetições periódicas, intervalos fixos ou apenas um agendamento para uma determinada data.

Atualmente os agendamentos suportados são de expressões no formato CRON Quartz e com intervalo mínimo entre execuções de 15 minutos. No exemplo a seguir, está especificado uma CRON de repetição para cada hora:

executando

Para facilitar a construção dessas expressões, existem diversas ferramentas e documentações na internet, como por exemplo o site Cron Maker, que permite montar de acordo com grupos de horário e dias da semana. Abaixo seguem alguns exemplos de expressões Cron e seus significados.

CondiçãoExpressão
Executar a cada 30 minutos0 0/30 * 1/1 * ? *
Executar a cada 12 horas0 0 0/12 1/1 * ? *
Executar todo dia da semana às 18h0 0 18 ? * MON-FRI *
Somente nas sextas-feiras e sábados, às 8h0 0 8 ? * FRI,SAT *
Primeiro dia a cada 2 meses, às 13h0 0 13 1 1/2 ? *
Primeira segunda feira de Maio às 12h0 0 12 ? 5 MON#1 *

Gerenciando notificações

O recurso Gerenciar notificações, administra os avisos de execuções dos relatórios, controlando o que será possível visualizar e para quem irá enviar as notificações. Quando o parâmetro Omitir notificações está desabilitado é possível inserir os usuários que receberão as notificações.

executando

Quando o parâmetro está habilitado, o campo Notificar usuários do sistema desaparece, ou seja, ao executar um artefato não será enviado nenhum tipo de notificação para os usuários.

executando

Resumo

Esta guia mostra o resumo de todas as informações inseridas nas guias anteriores, através do campo Título é inserido um nome para o agendamento e ainda é possível realizar um agendamentos sistêmico que tem por objetivo agendar execuções vinculadas ao sistema e não a um usuário específico.

executando

IMPORTANTE!

É necessário que o usuário seja administrador da entidade para realizar os Agendamentos sistêmicos.

A ferramenta permite que seja realizado o cancelamento de uma execução sistêmica por um administrador. Esta funcionalidade está disponível através da engrenagem Mais opções > Cancelar, porém só aparecerá a opção de cancelar quando o script estiver sendo executado, caso contrário não aparece essa alternativa.

executando

Agendando scripts de forma programática

É possível realizar agendamentos automáticos nos scripts, ou seja, de forma programática. Portanto, agora há duas maneiras de realizar um agendamento: de forma visual e programática.

As sugestões de uso dessa funcionalidade são:

  • Esperar o processamento de um lote enviado para algum serviço;
    • No lugar de parar a execução atual, utilizando o método esperar, basta agendar o mesmo ou outro script passando os parâmetros necessários para a consulta;
  • Executar um processo incremental sem a necessidade de fazer um agendamento customizado;
  • De forma geral, em todos os lugares onde hoje se utiliza o esperar.

Como realizar um agendamento?

Utilizando o comando Script.identificador.agendar('1m') onde o Script é palavra reservada, seguida do identificador do script a ser agendado e o método agendar(), que pode receber os paramentos da execução, juntamente com o tempo de agendamento, ou simplesmente o tempo.

executando

executando

Todos os agendamentos ficam em uma guia exclusiva no Gerenciador de Scripts facilitando a visualização e realizando possíveis alterações. No lado direito da tela na opção Ações disponíveis é permitido Editar, Excluir ou Desativar quando o script estiver ativado.

executando

Executando uma extensão utilizando dados de outras entidades

Os usuários técnicos podem executar uma extensão dentro do ambiente de desenvolvimento de outras entidades, facilitando o fluxo de desenvolvimento. Porém, esse usuário precisa ter acesso a outra entidade destino (necessário ser administrador) para que seja realizada essa execução.

Esse recurso está disponível nas ferramentas de Relatórios e Scripts através da opção Executar no contexto de outra entidade. Habilitando essa opção, o usuário necessita selecionar a entidade. Para isso, basta clicar no espaço abaixo que logo, será mostrado as alternativas.

executando

A entidade selecionada será usada no momento da busca nos campos de seleção com dados dinâmicos.

Ainda, no caso dos campos de seleção terem seus valores preenchidos e a entidade de execução ser alterada, estes serão limpos, evitando que valores inválidos sejam enviados para processamento.

executando

Exemplificando: partindo do cenário onde temos para seleção uma lista de obras da entidade, ao selecionar para executar em outro contexto e selecionado outra entidade, a lista de obras terá seu valor selecionado limpo e serão dispostos apenas as obras que pertencerem à entidade selecionada.

IMPORTANTE!
  • Somente será exibido a opção de execução em outro contexto para usuários técnicos e somente serão listadas as entidades que o usuário é administrador e possui acesso técnico;
  • Execuções em outro contexto serão automaticamente classificadas como execuções privadas.

Monitorando em tempo real as execuções

Dando continuidade às melhorias de desempenho e escalabilidade no monitoramento das execuções de relatórios e scripts, estamos disponibilizando uma opção para monitoramento em tempo real, o qual possibilita a visualização dos logs* e métricas antes do término da execução.

* disponível somente para scripts.

executando

O monitoramento em tempo real, propicia o acompanhamento dos logs e métricas no decorrer da execução.

Caso seja necessário habilitar o monitoramento para uma execução que já esteja em andamento, é possível selecionar a opção de mesmo nome, que está disponível no ícone representado por uma engrenagem.

Ao selecionar a opção monitoramento em tempo real para uma execução que já esteja em andamento, os logs e métricas pararão a ser sincronizados e disponibilizados para consulta após alguns instantes.

executando

Adicionado propriedade para recuperar a lista de e-mails configurados para serem notificados na execução de um Script

Adicionado a propriedade “emailsNotificacao” ao contexto do script. Esta propriedade retornará a lista de e-mails configurados na etapa de "Opções de execução". No caso de não haver sido configurado nenhum e-mail, será retornado um objeto nulo.

Na prática, a propriedade permitirá, por exemplo, que o desenvolvedor crie regras onde ao ocorrer falha de validação ou de execução, os usuários configurados para receberem a notificação poderão ser informados via programação conforme o desejado.

Exemplo:

if (contextoExecucao.emailsNotificacao != null) {
remetente = "ped@betha.com.br"
contextoExecucao.emailsNotificacao.each {
email = Email.novo()
email.de (remetente, "Email de ${remetente}")
.para(it, "Para ${it}")
.assunto("Execução de Script")
.mensagem("Você está recebendo este e-mail, pois está configurado nas opções de execução do agendamento")
.enviar()
}
}