quarta-feira, 2 de julho de 2014

Como fazer a contrab trabalhar pra você

Normalmente quando é necessário uma tarefa repetitiva e que possui um certo grau de integração com outros serviços, utilizo o recurso da contrab.

No python basta criar seu arquivo e definir nele o que será feito. Em seguida basta agendar a tarefa na crontab de acordo com a periodicidade necessária.

Para listar as tarefas agendadas na cron basta executar o comando:
crontab -l

Para criar/editar tarefas basta executar o comando:
crontab -e

Vale ressaltar que caso nao goste do editor que a cron utiliza, pode trocar por algum  de sua preferencia, como o nano, basta executar o seguinte comando:

export VISUAL=nano

Para definir o tempo que você pode fornecer valores para minutos, horas, dias do mes, meses e dias da semana. Nesta ordem. Também é possível definir * para qualquer um destes parametros de forma a referenciar qualquer valor.

Outra coisa que vale dizer é : Se vc precisa executar uma rotina que precisa de mais de um comando , certifique-se que todas as linhas sejam aglutinadas em apenas uma, através do &&.

Exemplo:

# m h  dom mon dow   command

0 * * * 1,2,3,4,5 . /ENV/bin/activate && python carga.py && deactivate

O comando acima roda sempre que os minutos forem iguais a 0, para todas a horas, em todos os dias do mês, durante todos os meses e somente de segunda a sexta. Ele inicia o  ambiente virtual, executa o arquivo carga.py e desativa o ambiente virtual.