Como Agendar Tarefas com Python Automaticamente
Quer aprender a agendar tarefas com Python automaticamente ? Na aula de hoje, vou te ensinar como fazer isso para qualquer período que você quiser.
Para agendar tarefas com Python, a biblioteca schedule é a mais simples: instale com pip install schedule e defina o agendamento com schedule.every().day.at("08:00").do(sua_funcao). Depois, mantenha um laço com schedule.run_pending() rodando. Assim a função é executada automaticamente no horário ou intervalo definido — útil para relatórios, backups e automações.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
O que você aprende neste vídeo
Resposta rápida: Nesta aula, o instrutor ensina a agendar tarefas com Python usando o módulo schedule. Você define a função da tarefa que quer repetir, agenda quando ela deve rodar (todo dia, num horário específico, a cada X segundos) e coloca o agendador num loop infinito para ele ficar verificando e executando a tarefa na hora certa.
Neste vídeo (16 min):
- 0:00 - O objetivo: agendar tarefas com Python usando o módulo
schedule. - 2:00 - Definir a função da tarefa que você quer repetir.
- 4:00 - Colocar o agendador num loop infinito para ele executar na hora certa.
- 8:00 - Agendar por horário e diariamente (todo dia em tal hora).
- 15:00 - Agendar a cada X segundos/minutos.
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Como Agendar Tarefas com Python Automaticamente
Na aula de hoje, vou te mostrar como agendar tarefas com Python automaticamente. Você aprenderá a agendar tarefas no Python a cada segundo, minuto, hora, dia ou semana, pelo período que achar necessário.
Com essa técnica, você poderá escolher e determinar um período específico para repetir uma tarefa ou uma automação já criada.
Será possível fazer o agendamento com horários personalizados, eliminando a necessidade de esperar por um horário específico. O Python fará o trabalho por você, mantendo sempre esse padrão.
No material disponível para download, você encontrará o gabarito com o código pronto para ser baixado e utilizado, mas durante esta aula, eu te mostrarei como construí-lo do zero!
Biblioteca Schedule no Python – Agendar Tarefas com Python
Para começarmos a construir nosso código, o primeiro passo será instalar a biblioteca Schedule no Python. Para isso, no terminal do seu editor de código, execute:
pip install scheduleFeito isso, podemos importar a biblioteca para o nosso código.
import scheduleEm seguida, precisamos criar uma função para a tarefa que desejamos executar várias vezes. Para o exemplo, irei definir uma função que imprime um texto na tela.
import schedule
def tarefa():
print("Se inscreve no canal, não dá mole!")Essa tarefa pode ser uma automação que você criou. Nesse caso, basta importá-la também para o código e substituir o print pela tarefa ou automação que deseja executar repetidamente.
Com a tarefa definida, precisamos chamar o módulo schedule e definir de quanto em quanto tempo ela precisa ser executada. Para isso, utilizaremos o método every(). Em seguida, definiremos o intervalo de tempo desejado e chamaremos o método do() passando nossa função como parâmetro.
import schedule
def tarefa():
print("Se inscreve no canal, não dá mole!")
schedule.every().second.do(tarefa)Também precisamos criar um looping para que esse código seja executado continuamente. Caso contrário, ele executará apenas uma vez e não repetirá. Faremos isso criando um while que chama o módulo schedule e o método run_pending() para executar todas as tarefas pendentes.
Por fim, a documentação da biblioteca schedule recomenda adicionar um time.sleep() ao final do código, com duração de pelo menos 1 segundo. Isso evita que o Python execute o código muito rapidamente, sem intervalos, e consuma muita memória do computador.
import schedule
import time
def tarefa():
print("Se inscreve no canal, não dá mole!")
schedule.every().second.do(tarefa)
while True:
schedule.run_pending()
time.sleep(1)Executando esse código, a mensagem “Se inscreva no canal, não dá mole!” será exibida a cada 1 segundo.

Agora que você já compreendeu como a base do Schedule funciona, vamos aprender a personalizá-lo passando alguns parâmetros e métodos. Isso nos permitirá definir o intervalo de tempo e os horários em que queremos executar nossa tarefa.
Dentro do método every(), podemos definir o intervalo de tempo desejado. Por exemplo, se quisermos que a tarefa seja executada a cada 5 segundos, poderíamos escrever essa linha de código da seguinte forma:
schedule.every(5).seconds.do(tarefa)Note que, ao adicionar o parâmetro 5, o termo second também precisa passar para o plural, tornando-se seconds.
Essa estrutura funciona para a lógica que você desejar, com segundos, minutos, horas, dias ou semanas. Lembre-se de declarar esses termos em inglês.
Também é possível determinar o horário em que queremos que nossa tarefa seja executada. Para isso, precisamos usar o método at(). Por exemplo, se desejamos executar nossa tarefa todos os dias às 9 horas da manhã, podemos fazer desse modo:
schedule.every().day.at("09:00").do(tarefa)Ou, podemos definir que a tarefa seja executada a cada hora, no minuto 20:
schedule.every().hour.at(":20").do(tarefa)É importante ressaltar que o Schedule trabalha com base no horário local. Portanto, se você estiver executando o código diretamente do seu computador, ele seguirá o horário do seu computador. Caso esteja sendo executado em um servidor, ele utilizará o fuso horário do servidor.
Outra personalização interessante que podemos fazer ao agendar tarefas com Python e Schedule é através do método until(). Ele nos permite definir um horário limite para que a tarefa seja repetida. Por exemplo, podemos definir que a tarefa seja executada a cada hora, até às 17 horas.
schedule.every().hour.until("17:00").do(tarefa)Além de passar os horários no formato de texto, como fizemos até agora, também podemos associar essa biblioteca com a biblioteca datetime, que nos permite controlar datas e horas. Importaremos o método time dessa biblioteca e renomearemos a biblioteca time como tm, para evitar conflitos entre as duas bibliotecas.
Com a biblioteca datetime, podemos construir um horário limite completo, com horas, minutos e segundos. Por exemplo, podemos definir que a tarefa seja executada até as 14 horas, 22 minutos e 10 segundos.
import schedule
import time as tm
from datetime import time
def tarefa():
print("Se inscreve no canal, não dá mole!")
schedule.every().second.until(time(14, 22, 10).do(tarefa)
while True:
schedule.run_pending()
time.sleep(1)Agendar Tarefas com Python usando Decorator
Existe também a possibilidade de fazermos essa mesma estrutura de agendamentos que vimos até agora, diretamente na função através do uso de decorators.
De forma resumida, um decorator é uma função que adiciona funcionalidades extras a outra função que está logo abaixo dele.
Dessa forma, utilizando decorators, podemos definir de forma direta os intervalos de tempo e execução desejados para as nossas tarefas. Essa abordagem facilita a organização, especialmente quando houver a necessidade de definir múltiplas automações no código.
Abaixo, temos um exemplo de como construir o nosso código utilizando decorators:
import schedule
import time as tm
from datetime import time
from schedule import repeat, every
@repeat(every().second)
def tarefa():
print("Se inscreve no canal, não dá mole!")
while True:
schedule.run_pending()
tm.sleep(1)Neste exemplo, utilizamos o decorator @repeat(every().second) para definir que a função tarefa() será repetida a cada segundo.
Dessa forma, podemos definir vários agendamentos de tarefas diretamente nas funções utilizando decorators, o que facilita a organização e permite a criação de múltiplas tarefas no mesmo código.
Perguntas frequentes
1. Como agendar tarefas com Python?
Use a biblioteca schedule: instale com pip install schedule, defina quando a tarefa deve rodar (por exemplo, schedule.every(10).minutes.do(funcao) ou .day.at(’08:00′)) e mantenha um laço chamando schedule.run_pending() para que ela execute no momento certo.
2. Qual biblioteca usar para agendar tarefas em Python?
A schedule é ótima para agendamentos simples dentro do script. Para tarefas mais robustas há o APScheduler. Já para automações no nível do sistema, dá para usar o Agendador de Tarefas do Windows ou o cron no Linux chamando o script Python.
3. O script precisa ficar aberto para a tarefa rodar?
Com a biblioteca schedule, sim: o laço que chama run_pending() precisa estar em execução. Para rodar mesmo com o script fechado, agende a execução pelo sistema operacional (Agendador de Tarefas ou cron), que dispara o Python no horário marcado.
4. Como agendar uma tarefa para todo dia em um horário?
Use schedule.every().day.at(’14:30′).do(funcao) para rodar todos os dias às 14h30. Você pode combinar vários agendamentos no mesmo script, e cada um dispara a função correspondente no horário definido.
Conclusão – Como Agendar Tarefas com Python Automaticamente
Na aula de hoje, apresentei a você como agendar tarefas com Python automaticamente! Você aprendeu a programar a execução de automações e tarefas utilizando a biblioteca Schedule, permitindo que você defina períodos e horários personalizados para essas execuções.
Com essa biblioteca, você pode executar essas tarefas agendadas diretamente no seu computador, localmente. No entanto, o ideal é fazer o deploy da sua automação e do agendamento em um servidor, liberando assim o seu próprio computador para outros usos.
A biblioteca Schedule é extremamente útil para agendar tarefas com Python e pode ser um excelente complemento para as automações que você está desenvolvendo ou pretende desenvolver em Python!
Hashtag Treinamentos
Para acessar outras publicações de Python, clique aqui!


