Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

CONTEÚDO

  1. Visão Geral
  2. Configurações Gerais
  3. Parametrização dos agendamentos do AUTONFE para processamento em sequencial (Monothread)
  4. Parametrização dos agendamentos do AUTONFE para processamento em paralelo (Multithread)
  5. Uso de licenças do AUTONFE

01.

...

No módulo SIGACFG (configurador), acesse:

Image Removed

Image Removed

Image Removed

VISÃO GERAL 
Âncora
visaogeral
visaogeral


Permitir a configuração do agendamento (schedule) das rotinas automáticas de Transmissão (AUTONFETRANS), Monitoramento (AUTONFEMON) e Cancelamento (AUTONFECANC) de Nota(s) Fiscal(is) Eletrônica(s) - AUTONFE - de forma sequencial ou paralela, onde:

Execução Sequencial (padrão): Quando todo o processamento de Transmissão ou Monitoramento ou Cancelamento é executado por uma única instancia (thread) do programa. 

Execução Paralela (multithread): Quando todo o processamento de Transmissão ou Monitoramento ou Cancelamento é executado por mais de uma instancia (thread) do programa. 


Ambos os casos serão detalhados em cada tópico.


Rotinas do AUTONFE:

Rotina de TransmissãoAUTONFETRANS
Rotina de MonitoramentoAUTONFEMON
Rotina de CancelamentoAUTONFECANC


02. CONFIGURAÇÕES GERAIS 
Âncora
config
config


Para releases inferiores à Microsiga Protheus 12.1.33 será necessário realizar a seguinte configuração do dicionário de perguntas do Protheus.


No módulo do Configurador (SIGACFG), acesse Base de Dados / Dicionário / Base de Dados:

Image Added


Selecione a opção Perguntas:

Image Added


Clique na lupa de pesquisa:

Image Added


Informe Informar AUTONFE no campo de busca, e clique no botão Buscar. Em seguida clique em Editar:

Image Modified


Incluir Inclua na segunda linha (pressionar Tecla tecla para baixo) as seguintes informações exibidas em tela.Depois  Depois pressionar o botão Confirmar.

Image Removed

02. Ajustando o processo de AUTONFE (Transmissão, monitoramento, cancelamento):

No modulo SIGACFG (configurador), acessar:

Image Removed

Image Removed

Selecionar qual rotina necessita de mais processamento, e depois seleciona-la.

Clicar no botão Alterar e depois no botão Parâmetros.

Image Removed

Informar no campo destacado quantos processos simultâneos a rotina deverá executar.

Neste caso serão 3. (Avaliar disponibilidade de threads configurada nos agentes do schedule que deverá conter o número de threads informada neste campo + 1). Exemplo: Foi informado 3 processos simultâneos, logo irei precisar de no mínimo 4 threads de agentes do schedule.

Image Removed

Depois clicar no botão OK para gravar as modificações.

Após tal configuração basta executar o agendamento ou aguardar sua execução automática na data pré-configurada.

Image Added


Pronto, já podemos configurar as rotinas do AUTONFE.


03. PARAMETRIZAÇÃO DOS AGENDAMENTOS DO AUTONFE PARA PROCESSAMENTO EM SEQUENCIAL (MONOTHREAD)
Âncora
monothread
monothread


Quando se configura as rotinas do AUTONFE indicadas anteriormente, para cada uma delas é possível realizar o processo de forma simultânea, ou seja, ao configurar por exemplo, na rotina de transmissão de notas (AUTONFETRANS) o parâmetro Nro de Processos simultâneos? com conteúdo maior ou igual a 2, isto será interpretado pela rotina que ela deverá abrir novas threads para enviar/transmitir as notas. Desta forma a rotina irá trabalhar utilizando o processo principal, que será o gerenciador de threads a serem abertas, mais a quantidade de threads informados no parâmetro, para que estas realizem todas as transmissões de notas da serie informada no parâmetro de Serie


Este processo torna o processamento das notas muito mais rápido, porem consome mais licenças e recursos de maquina (memoria/CPU).


Abaixo, como exemplo apenas,  será mostrado o processo de configuração da rotina de Transmissão de Notas AUTONFETRANS de forma paralela (multithread):


No módulo Configurador (SIGACFG), acesse Ambiente / Schedule / Schedule :

Image Added


Em Schedule / Agendamentos / Cadastro, clicar no botão Incluir:

Image Added


Preencher os campos conforme desejado.

Image Added


Ao preencher o nome da rotina com uma das rotinas do AUTONFE informadas anteriormente, será apresentado tela de parâmetros com o novo parâmetro de Numero de Processos Simultâneos. Para que seja realizado o processo de forma paralela, deve-se informar um número igual ou maior a 2. Em seguida clicar em OK

Image Added




Informações
titleImportante


Ao preencher o campo de Empresa/Filial o próprio agendamento se encarregará de "disparar" um processo para cada empresa/filial configurada. Este comportamento é padrão dos agendamentos Protheus e é independente da configuração do parâmetro realizado no passo anterior. 


Image Added


Neste caso exemplificado acima, serão disparados dois processos (threads) de transmissão de notas, um para cada Empresas/Filiais configurada. Para cada processo de transmissão, a rotina do AUTONFE identificará o parâmetro de Numero de Processos Simultâneos e assim realizara aberturas de processo (threads) em paralelo, neste caso serão abertos mais 5 threads, totalizando 6 threads, onde:

Nro de ThreadsOperação da Thread
1Processo gerenciador de threads
5Numero de threads que serão abertas para processamento paralelo de transmissão, monitoramento ou cancelamento de documento.


Desta forma, para esse exemplo, para a filial T1-X TSS01 serão abertas e consumidas um total de 6 threads/licenças par realizar todo o processamento. Caso sejam apresentadas mais filiais no agendamento, caso exemplificado acima, o numero será proporcional ao numero de filiais, neste caso serão utilizadas 12 threads/licenças como um todo.




Utilizando parâmetro do Fórmulas

No caso da utilização do Fórmula é necessário que o valor retornado seja numérico, conforme exemplo abaixo:


Image Added


Image Added


Image Added



04. PARAMETRIZAÇÃO DOS AGENDAMENTOS DO AUTONFE PARA PROCESSAMENTO EM PARALELO (MULTITHREAD)
Âncora
multithread
multithread


Quando se configura as rotinas do AUTONFE indicadas anteriormente, para cada uma delas é possível realizar o processo de forma sequencial, ou seja, ao configurar por exemplo, na rotina de transmissão de notas (AUTONFETRANS) o parâmetro Nro de Processos simultâneos? com conteúdo igual a 0 ou 1, isto será interpretado pela rotina que ela não deverá abrir novas threads para enviar/transmitir as notas. Desta forma a rotina irá trabalhar utilizando apenas a própria thread aberta no agendamento para realizar toda transmissão das notas informadas no parâmetro de Serie

Isto implica em um processamento mais lento porem que consumirá apenas uma das licenças disponíveis.


Abaixo, como exemplo apenas,  será mostrado o processo de configuração da rotina de Transmissão de Notas AUTONFETRANS de forma sequencial (monothread):


No módulo Configurador (SIGACFG), acesse Ambiente / Schedule / Schedule :

Image Added


Em Schedule / Agendamentos / Cadastro, clicar no botão Incluir:

Image Added


Preencher os campos conforme desejado.

Image Added


Ao preencher o nome da rotina com uma das rotinas do AUTONFE informadas acima, será apresentado tela de parâmetros com o novo parâmetro de Numero de Processos Simultâneos. Para que seja respeitado o uso de apenas 1 processo em execução para a transmissão das notas, basta informar 0 ou 1. Em seguida clicar em OK

Image Added



Informações
titleImportante


Ao preencher o campo de Empresa/Filial o próprio agendamento se encarregará de "disparar" um processo para cada empresa/filial configurada. Este comportamento é padrão dos agendamentos Protheus e é independente da configuração do parâmetro realizado no passo anterior. 


Image Added


Neste caso mostrado acima, serão disparados dois processos (threads) de transmissão de notas, pois temos duas empresas/filiais configuradas. Para cada processo de transmissão, a rotina do AUTONFE identificará o parâmetro de Numero de Processos Simultâneos e assim não realizara mais nenhum outra abertura de processo em paralelo, realizando toda a operação no mesmo processo (thread) aberto pelo agendamento.




Utilizando parâmetro do Fórmulas

Atenção: No caso da utilização do Fórmula é necessário que o valor retornado seja numérico, conforme exemplo abaixo:

Image Removed

Image Removed

...

:


Image Added


Image Added


Image Added


05. USO DE LICENÇAS DO AUTONFE
Âncora
licencas
licencas


O uso de licenças irá depender do valor informado no parâmetro de  Numero de Processos Simultâneos presente nas rotinas de Transmissao, Monitoramente e Cancelamento do AUTONFE.


Processo Monothread

Caso seja informado o numero de processos simultâneos com valor 0 ou 1, para cada rotina/processo do AUTONFE será consumido apenas 1 licença.


Processo MultiThread

Caso seja informado no parâmetro numero de processos simultâneos um valor maior ou igual a 2, o numero de thread que será aberto ao executar a rotina, será:

Total de Threads = Nro de Processos Simultâneos + 1


Exemplo 1:

Caso informado no parâmetro  Nro de Processos Simultâneos o valor 2, teremos 3 threads sendo executadas, sendo 1 para gerenciamento de threads e 2 threads realizando o processo do AUTONFE (transmissão, monitoramento ou cancelamento).


Exemplo 2:

Caso informado no parâmetro  Nro de Processos Simultâneos o valor 10, serão abertas 11 threads, sendo 1 para gerenciamento de threads e 10 threads realizando o processo do AUTONFE (transmissão, monitoramento ou cancelamento).


Informações
titleImportante

Vale ressaltar que este controle de numero de threads é realizado pelas rotinas do AUTONFE, porem deve-se atentar ao numero de Empresa/filial configurada para cada JOB (processo) do AUTONFE, pois o disparado de cada filial não esta associado ao controle de numero de processos simultâneos. Os disparos do JOB por Empresa/Filial é um comportamento nativo da rotina de Agendamento (Schdule) do módulo Configurador.



HTML
<!-- esconder o menu --> 


<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}
</style>