Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!
Free Trial

Fórum

SOLUCIONADO

Temporizador para execução

afprospero
Asteroide

Boa tarde pessoal. Eu tenho um problema e não sei como resolve-lo de forma automatizada. 

Eu possuo 2 macros. Vamos chamar Macro1 (que acessa uma API do fornecedor e solicita a execução de um report com parametros que eu envio, me retornando um id de transação) e a Macro2 (que eu informo o id de transação retornado da Macro1).

Eu criei um fluxo que executo a Macro1, recebe o id da transação e informa esse ID na Macro2. Agora vem o problema....

A Macro1 é só o gatilho para a execução do report que preciso, e o id da transação é a chave que preciso buscar o report. O problema que quando executo a Macro2 sequencial no fluxo, o report ainda não está pronto no server do fornecedor e me retorna "Pendente na fila de execução". Ai preciso executar varias vezes a MAcro2 até que ela retorne "OK" e me retorne dados.

Eu precisava de um temporizador (uns 5 min deve dar) ou então algo que fique executando (automático) até que o retorno da Macro2 para o campo execução seja OK.

Não sei se ficou muito claro, mas é isso. Se alguém tiver uma sugestão, irá me ajudar muito.

Obrigagdo 🙂

 

8 RESPOSTAS 8
carlosteixeira
15 - Aurora
15 - Aurora

Oi @afprospero tudo bem?

Só pra eu entender melhor:

 

O Id de transação (que vc usa na macro 2) vc recebe ele antes de o relatório, solicitado na Macro 1, estar pronto?

 

Carlos A Teixeira

Carlos A Teixeira
afprospero
Asteroide

Ola @carlosteixeira , bom dia.

Isso mesmo. Eu envio a solicitação e a macro 1 devolve o id (por exemplo ID 54). Ai eu preciso informar ele na Macro 2 como parametros de entrada da API, ai enquanto o relatório não estiver pronto a macro 2 retorna que esta na fila. Só quando finaliza a execução do report, é que o id 54 traz os resultados pra eu poder utilizar.

Obrigado pela ajuda de sempre.

carlosteixeira
15 - Aurora
15 - Aurora

@afprospero 

Você sabe quanto tempo leva pra primeira macro finalizar todo o resultado?

O que estou pensando, não sei se para seu problema serviria, mas seria utilizar a ferrmanta "wait a second" da CREW MACRO, nela você teria já o ID da primeira macro, mas colocaria um tempo de espera até finalizar a macro 1 e aí rodaria a macro 2.

 

carlosteixeira_0-1620136953150.png

 

 

Me diz se entendeu a idéia.

Carlos A Teixeira
afprospero
Asteroide

Oi @carlosteixeira é uma boa idéia. Entendi sim

Eu pensei também em rodar a macro 1, e enquanto o campo status não for "OK" não rodar a macro 2. Seria como se fosse um loop a cada 10 segundos ou algo assim. 

Sobre o tempo de execução exato do report, não tem como saber. Ja trouxe resultado em 1 minuto (minimo) e em 7 (maximo), pois depende da movimentação do dia. Mas se não tiver outra forma eu cravo um tempo de uns 10 min.

Eu tava fuçando as ferramentas e não encontrei alguma que tivesse "loop" .

O que acha disso?

carlosteixeira
15 - Aurora
15 - Aurora

@afprospero Legal, espero que de certo.

Bom nesse seu último exemplo, eu acho que você poderia usar algumas ferramentas do CREW MACRO

Runner e Conditional Runner, como na imagem abaixo:

 

carlosteixeira_0-1620153418882.png

O runner (primeira) vai executar a sua primeira macro, se ela executar com sucesso (até o final) ele executa a segunda ferramenta, Conditional Runner.

 

Acho que seria uma outra idéia para você testar.

 

Quanto ao loop, geralmente usamos a Iterative Macro quando precisamos fazer algum tipo de loop. 

Segue uma pagina pra ler um pouquinho sobre ela:

https://help.alteryx.com/pt-br/current/designer/iterative-macro

 

Espero que ajude amigão.

Qualquer coisa posta aqui que vamos tentando ajudar.

 

Abraços

 

Carlos A Teixeira
afprospero
Asteroide

Legal @carlosteixeira .

Como habilito o CREW MACRO aqui? Pesquisei e não tem. Acho que é algum pacote que tem que instalar...correto?

Obrigado

carlosteixeira
15 - Aurora
15 - Aurora

@afprospero 

 

Só baixar e instalar, se não me engano tem im install dentro do ZIP:

 

http://downloads.chaosreignswithin.com/Macros.zip

 

Abração

Carlos A Teixeira
afprospero
Asteroide

Valeu @carlosteixeira . Instalei o pacote e utilizei o Wiat a Second. 

Coloquei um time de 5 minutos e rodou do jeito que eu precisava.

Grande abraço.

Rótulos