Vamos lá: pela sua mensagem o que aparentemente ocorre é que o tamanho dos caracteres da expressão cron ultrapassa a quantidade permitida para armazenar no banco de dados. O ScadaBR, assim como muitos outros programas, utiliza-se de um banco de dados para armazenar as informações que são necessárias para sua execução. Neste caso, ao que tudo indica, quando “dimensionaram” o banco de dados, deixaram uma quantidade de caracteres muito pequena (apenas 25 caracteres) para armazenar as expressões cron. Mas não se preocupe, dá para contornar esse problema!
Antes de tudo, vou tentar explicar melhor o funcionamento de um padrão cron porque acho que você ainda não entendeu completamente (o que é normal, eu mesmo demorei para me familiarizar com esse tipo de notação): em suma, padrões cron servem para “casar” com uma ou mais datas específicas, porém, um padrão cron nunca define intervalo entre datas. Quando você deu o exemplo 0 0 6,23 ? * MON,TUE,WED,THU,FRI *
, você provavelmente achou que a parte 6,23
significava “das 6 às 23 horas”. Na verdade, ao escrever assim, você na verdade está dizendo “ou às 6 ou às 23 horas”, porque não há intervalo de datas num padrão cron.
É justamente para suprir este problema do intervalo de datas que o ScadaBR fornece os campos Tempo de atividade e Tempo de inatividade. Pense no tempo de atividade como um botão de “ligar”, que vai ativar o seu evento quando a expressão cron for disparada e mantê-lo ativo até que o tempo de inatividade, que funcionaria como um botão “desligar”, desative o tal evento. Assim sendo, a expressão cron para o horário ativo deve conter apenas o horário das 6h (ligar), e para o horário inativo apenas o das 23h (desligar), como nos exemplos abaixo:
0 0 6 ? * MON,TUE,WED,THU,FRI *
<- Ligar de segunda a sexta, às 6h 0min 0s
0 0 23 ? * MON,TUE,WED,THU,FRI *
<- Desligar de segunda a sexta, às 23h 0min 0s
Porém, aqui voltamos ao problema dos 25 caracteres. Para resolver isso, sugiro que você divida seu evento agendado em dois: um para ligar segunda e terça-feira, e outro para ligar quarta, quinta e sexta-feira. Assim você consegue fazer as expressões “caberem” dentro de 25 caracteres. Exemplo:
EVENTO 1
Horário ativo: 0 0 6 ? * MON,TUE *
(19 caracteres)
Horário inativo: 0 0 23 ? * MON,TUE *
(20 caracteres)
EVENTO 2
Horário ativo: 0 0 6 ? * WED,THU,FRI *
(23 caracteres)
Horário inativo: 0 0 23 ? * WED,THU,FRI *
(24 caracteres)
Desculpe se a resposta ficou muito longa, mas achei que era necessário uma explicação mais detalhada para entender melhor os padrões cron.
Boa sorte!