Plataforma distribuída de agendamento de tarefas com console web, suporte a gatilhos Cron e por intervalo fixo, jobs de broadcast particionados, failover e novas tentativas.
agronholm/apscheduler
Biblioteca Python de agendamento de tarefas e filas de tarefas, com gatilhos cron, de intervalo, de calendário e pontuais, além de armazenamento persistente opcional.
- Estrelas
- 7,688
- Forks
- 823
- Issues abertas
- 82
- Último commit
- há 11 dias
O que é?
APScheduler (Advanced Python Scheduler) é uma biblioteca para executar funções Python em horários programados ou como tarefas enfileiradas. Ela funciona em um único processo para scripts pequenos e também pode abranger vários nós, nos quais vários schedulers e workers compartilham um armazenamento de dados comum.
A biblioteca oferece versões síncrona e assíncrona, atendendo tanto a aplicações baseadas em threads quanto a aplicações com asyncio ou Trio. Agendamentos e tarefas podem ser persistidos em PostgreSQL, MySQL, SQLite ou MongoDB, para sobreviverem a reinicializações e serem compartilhados entre instâncias. PostgreSQL, Redis e MQTT atuam como brokers de eventos quando vários schedulers ou workers precisam se coordenar.
Os gatilhos integrados permitem execuções no estilo cron, em intervalos fixos, baseadas em calendário (a cada X anos, meses, semanas ou dias, no mesmo horário) e pontuais. Os gatilhos podem ser combinados, é possível criar gatilhos personalizados, e as tarefas podem ter limites de concorrência, tolerância a atrasos e jitter aleatório.
Recursos principais
- 01Gatilhos cron, de intervalo, baseados em calendário e pontuais, além de gatilhos personalizados
- 02Armazenamento persistente de tarefas para PostgreSQL, MySQL, SQLite e MongoDB
- 03Brokers de eventos para PostgreSQL, Redis e MQTT, para coordenar vários schedulers e workers
- 04APIs síncronas e assíncronas (asyncio, Trio)
- 05Limites de concorrência, de atraso no início e jitter para tarefas
Casos de uso
- Executar tarefas periódicas em segundo plano dentro de uma aplicação web Python
- Agendar tarefas recorrentes de sincronização de dados ou limpeza em vários servidores com um banco de dados compartilhado
- Usar a biblioteca como uma fila de tarefas leve quando não é necessário ter uma fila de tarefas separada
- Acionar tarefas asyncio ou Trio a partir de uma aplicação ASGI ou WSGI
Antes de usar
- A série v4.0 é uma versão pré-lançamento e pode sofrer alterações incompatíveis sem um caminho de migração; por isso, não deve ser usada em produção.
Tópicos
Perguntas frequentes
- O que é apscheduler?
- Biblioteca Python de agendamento de tarefas e filas de tarefas, com gatilhos cron, de intervalo, de calendário e pontuais, além de armazenamento persistente opcional. APScheduler (Advanced Python Scheduler) é uma biblioteca para executar funções Python em horários programados ou como tarefas enfileiradas. Ela funciona em um único processo para scripts pequenos e também pode abranger vários nós, nos quais vários schedulers e workers compartilham um armazenamento de dados comum.
- apscheduler é gratuito? Qual é a licença?
- apscheduler é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- apscheduler ainda é mantido?
- Manutenção ativa. O último commit de apscheduler foi em 26 de out. de 2026.
- Para que posso usar apscheduler?
- Executar tarefas periódicas em segundo plano dentro de uma aplicação web Python Agendar tarefas recorrentes de sincronização de dados ou limpeza em vários servidores com um banco de dados compartilhado Usar a biblioteca como uma fila de tarefas leve quando não é necessário ter uma fila de tarefas separada Acionar tarefas asyncio ou Trio a partir de uma aplicação ASGI ou WSGI
- Onde consigo apscheduler?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/agronholm/apscheduler
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Fila de tarefas distribuída para Python que executa tarefas em segundo plano e distribui o trabalho entre workers e brokers de mensagens.
Biblioteca Go para filas de tarefas distribuídas com Redis, com agendamento, novas tentativas, filas prioritárias e interface web.
Um mecanismo de orquestração para tarefas em segundo plano, agentes de IA e workflows duráveis, com SDKs para Python, TypeScript, Go e Ruby e Postgres como camada de durabilidade.
Uma biblioteca Python que adiciona workflows duráveis e filas de tarefas ao seu programa, com o estado salvo em checkpoints no Postgres.
Framework Java distribuído para agendamento de tarefas CRON, em intervalo fixo, com atraso e no estilo MapReduce, em nós de servidor e worker.