Como retomar a execução do ponto em que o robô parou após uma queda de rede?

Tenho um robô que realiza uma série de execuções diariamente e esse robô está alocado em uma máquina exclusiva para sua execução, pois o processo deve ser executado 24 horas todos os dias.
Como estou trabalhando em casa neste período de pandemia, esta máquina acessa a VPN da empresa usando minha conexão de internet. Quando ocorre uma queda de energia ou queda na internet e consequentemente queda na conexão com a VPN, o robô não para de funcionar e espera a conexão com a internet novamente, porém todo o processo volta a ser executado desde o início .

Gostaria que quando a conexão com a internet for restabelecida, ao invés de o robô retornar a execução do início do processo, ele retorne do ponto onde parou e continue a seqüência de execução, mas não sei como implementar esse tratamento do erro.

O seu robô está em uma maquina na sua casa, é isso? Foi o que eu entendi quando você comentou sobre ele precisar da SUA internet para conectar via VPN. Se for o caso, coloque o robo dentro da rede da empresa e você nao terá que se preocupar em pagar a conta de internet :slight_smile:

Agora, sobre identifcar onde parou, recomendo que utilize uma Queue, e coloque cada execução como uma transaction nessa queue. Separe o processo em Steps e preencha como TransactionItem.Progress para o item na fila conforme for percorrendo os steps. Após isso, toda vez que o seu robô pegar um item para processar, irá verificar o Progress e executar a partir de lá.

1 Like