Quando habilitado para trabalhar com o Processamento por demanda, as rotinas de processamento dos documentos recebem da camada de recepção das requisições, os dados para o processamento. Essa característica exige a criação uma contingência para casos de falhas durante o processamento, pois todo o processo está sendo realizado com dados em memoria da aplicação.       

As falhas de processamento podem ser provocadas devido à  fatores que possam provocar a interrupção do processamento. Seja por falha de acesso a serviços externos de integração com a aplicação(como a indisponibilidade dos serviços do Fisco de documentos: Sefaz, Prefeituras etc...  ) ou até mesmo pela queda(desligamento) do servidor da aplicação.

Para que haja a contingência do processamento, os dados para processamento são persistidos na base de dados. Todas requisições referente a processamento de documentos geram Processos dentro do TSS. E é através desses Processos que o Job de Contingência garantirá o processamento.

 

No exemplo abaixo temos uma ilustração de um processo de Emissao de NFe. Neste exemplo o Processamento por Demanda foi interrompido no Sub Processo de Consulta de retorno do processamento na Sefaz. Neste caso o JOB de Contingência garante o reprocessamento a partir do Sub Processo que apresentou a falha.

 

 

 

 

 

 

Fluxo do Processo:

 

1 -  Rotina de Recepção  realiza a remessa do documento na Tabela de Negócio.

2 - Rotina de Recepção gera e grava o Processo na tabela de Processos

3 - Rotina de Recepção dispara a execução da Rotina de Processamento por Demanda

4 - Rotina de Processamento por Demanada executa Rotina responsável pela execução do Processo.  

5 -  O processamento por Demanda é interrompido no Sub Processo de Consulta do documento

6 -  O registro do Processo é retornado na consulta realizada pelo JOB na tabela de Pocessos

7 - O JOB de Contingência reinicia o processamento a partir do Sub Processo que apresentou a falha.