Santos

A task schedule


Keywords
Santos, task, schedule, setuptools, development
License
MIT
Install
pip install Santos==1.0.1

Documentation

.. highlight:: rst

Um pouco de história

Em 1904, cansado da falta de praticidade do relógio de bolso, o modelo "portátil" mais comum de sua época,Santos Dumont reclamou para um de seus melhores amigos, o joalheiro francês Louis Cartier (fundador da joalheira Cartier). Esses relógios, como indica o nome, ficavam guardados no bolso e, em muitos modelos, eram protegidos por uma tampa, o que obrigava a uma considerável manobra para se ver as horas. Para ele, um homem que passava grande parte do tempo dirigindo máquinas voadorasou trabalhando em projetos, isso era um problema grave.

Santos Dumont pediu para que Cartier achasse uma saída para essa limitação. Algum tempo depois, o joalheiro presenteou o aviador com a solução que havia encontrado: O protótipo de um dos primeiros relógios de pulso masculinos, que recebeu o nome "Santos". Então deu o nome do relógio para esta lib.

Santos

Um agendador de tarefas simples e eficente.

Um agendador para tarefas que precisam ser executados de forma periodica. Santos permite a você rodar funcões e métodos Python periodicamente em intervalos pré-determinados usando uma sintaxe bem simples.

Características

  • Uma API simples para agendamento de tarefas.
  • Sem dependência external.
  • teste unitário.
  • Testada no Python 2.7, 3.4 e 3.5

Sobre

Santos permite que se agende a execução da alguma tarefa apenas passando a função ou método a ser executado para o add_job do objeto da classe ThreadSchedule. É possível pausar, reativar e também remover uma tarefa do agendador.

Os parâmetros aceitos para o método add_job são: id, seconds, minutes, hour, time_of_the_day, day_of_the_week, day_of_the_month. O Parâmetro id é obrigatório e é usado para identificar a tarefa que será executada, permitindo que se possa pausar, reativar ou remover a tarefa definida. Os parâmetros seconds, minutes e hour definem que a função ou método será executado repetidamente na frequência do valor passado com paramentro, em segundos, minutos e hora respectivamente. obs: Esses três parâmetros não podem ser combinados, nem entre e nem com os dois abaixo.

O parâmetro time_of_the_day define que a função ou método será executada todo dia em um horário específico, que deve ser passado no seguinte formato hh:mm:ss.(hh: 0..23 ; mm: 0..59, ss: 0..59)

O parâmetro day_of_the_week define que a função será executada repetidamente no dia da semana passado como valor. Os valores possíveis são: Su(Sunday/Domingo), M(Monday/Segunda), Tu(Tuesday/Terça), W(Wednesday/Quarta), Th(Thursday/Quinta), F(Friday/Sexta), Sa(Saturday/Sábado) em maiúsculo. Sendo que este deve ser combinado com o parâmetro time_of_the_day para especificar a hora, minuto e segundo daquele dia da semana.

Exemplos de uso

pip install Santos
from santos import ThreadSchedule

def func(a):
    print(a)

schedule.add_job(func, time_of_the_day="02:16:50", id="func1", kwargs={"a": "some data"})

schedule.add_job(func, seconds="3", id="func2", kwargs={"a": "B"})

Veja examples para mais exemplos

Meta

Anderson Marques - andersonoanjo18@gmail.com

Distribuído sobre lincensa MIT. Veja LICENSE.txt para mais informções.

https://github.com/anderson89marques/Santos