Tue Jan 28, 2020 12:22 am
Login Register Lost Password? Contact Us


Definir tempo de evento (em segundos) usando "CRON"

Fórum em português para questões gerais e suporte relacionados a ECL/HPCC Systems.

Moderator: hwatanuki

Fri Dec 13, 2019 1:53 pm Change Time Zone

Olá estou estudando uma função cujo o evento é definido por, WHEN(CRON('* * * * *'), ou seja, a função ativa a cada 1 minuto.

Eu gostaria de definir um tempo menor, por exemplo, a cada "10 segundos", mas não encontrei uma forma de fazer isso, pois os parâmetros de tempo da CRON no HPCC são: minute, hour, dom, month, dow. Vocês conhecem alguma forma de alterar a condição de tempo para segundos?

CRON: https://hpccsystems.com/training/docume ... /CRON.html

Desde já agradeço,
Eudes Santos
eudes.edu
 
Posts: 1
Joined: Fri Dec 13, 2019 1:22 pm

Thu Dec 19, 2019 2:59 am Change Time Zone

Olá Eudes,

O parâmetro de tempo da função CRON em ECL segue o padrão de especificação do Unix e, nesse caso, o mínuto seria a menor unidade de tempo passível de especificação.

Uma alternativa para definir um período menor de tempo seria utilizar template language em ECL para, por meio de um loop iterativo, executar uma ação ou função a cada 10 segundos. Vide exemplo de código abaixo:

Code: Select all
IMPORT STD;

#DECLARE (N);
#SET (N,1);
#LOOP
   #IF (%N%>5)
      #BREAK
   #ELSE
      STD.Date.CurrentTime();
      STD.System.Debug.Sleep(10000);
      #SET (N, %N%+1);
   #END;
#END;


Nesse caso, a CRON ainda poderia ser configurada para executar a cada minuto, mas invocando o código em template language acima para ser executado a cada 10 segundos.

Espero ter ajudado.

Att.,
Hugo W
hwatanuki
 
Posts: 5
Joined: Mon Apr 15, 2019 1:22 am


Return to Português

Who is online

Users browsing this forum: No registered users and 1 guest

cron