Feriados moveis no Remind

Feriados móveis são aqueles que não possuem data fixa no nosso (impreciso) calendário cristão. Os feriados móveis mais comuns são Carnaval, Sexta Feira Santa, Páscoa e Corpus Christi. Saber qual dia cai o feriado é importante não só para organização pessoal mas também para criar rotinas automatizadas para sistemas e afins.

Por vários anos, eu limitei-me a copiar para o Remind as datas dos feriados e, claro, havia necessidade de manutenção/atualização anual que sempre foi prejudicas minha pouca memória. Isto sempre fez sentir necessidade de buscar uma solução ainda mais automatizada.

Finalmente hoje, fui rever o assunto para criar escalas de trabalhos para robôs de software em infraestruturas distribuídas e não estava nada interessado em ficar criando rotinas de atualização de feriados para coisas que pudesse programar. Fiz algumas buscas na internet e eis que uma antiga página já conhecida minha ergue-se a minha fronte e minhas perguntas já estavam respondidas nela. A página em questão é a https://www.roaringpenguin.com/wiki/index.php/Defs.rem, tomando-a como base, pude resolver o problema dos 5 feriados móveis citados anteriormente da seguinte maneira:

SET easter easterdate(year(today()))
OMIT [trigger( easter - 47 )] MSG %"Carnaval%"
OMIT [trigger( easter -  2 )] MSG %"Sexta Feira Santa%"
OMIT [easter]                 MSG %"P\aacute{}scoa%"
OMIT [trigger( easter + 60 )] MSG %"Corpus Christi%"

Nada mais fácil não é?

O comando SET é usado para declarar/atribuir variáveis, no caso, estou atribuindo à variável easter a data da páscoa do ano atual com a função easterdate(), que recebe da função year() apenas o ano da data retornada pela função today(). O comando OMIT é usado para declarar omissões de datas de maneira global pela forma como foi usado, ótimo para declarar feriados.

Faz vários anos que uso o Remind e até agora encontrei nada que tivesse alguma chance de substituí-lo.

A próxima etapa é programar as escalar e fazer meus robôs saberem quando devem trabalhar ou dormir!

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s