Repolode
agronholm

agronholm/apscheduler

Библиотека-планировщик задач и очередь задач для Python с триггерами cron, интервалов, календарных и разовых запусков, а также поддержкой постоянных хранилищ заданий.

Звёзды
7,688
Форки
823
Открытые issues
82
Последний коммит
12 дней назад

Что это?

APScheduler (Advanced Python Scheduler) — библиотека для запуска функций Python по расписанию или в виде заданий в очереди. Она подходит для небольших скриптов, работающих в одном процессе, а также может работать на нескольких узлах, где несколько планировщиков и обработчиков используют общее хранилище данных.

Библиотека доступна в синхронном и асинхронном вариантах: она подходит как для приложений на потоках, так и для приложений на asyncio или Trio. Расписания и задания можно сохранять в PostgreSQL, MySQL, SQLite или MongoDB, чтобы они переживали перезапуск и были доступны нескольким экземплярам. Для координации нескольких планировщиков или обработчиков в качестве брокеров событий используются PostgreSQL, Redis и MQTT.

Встроенные триггеры поддерживают запуски по расписанию в стиле cron, с фиксированным интервалом, по календарю (каждые X лет, месяцев, недель или дней в одно и то же время) и однократный запуск. Триггеры можно комбинировать, для них можно писать собственные реализации, а для заданий можно ограничивать параллельное выполнение, допустимое опоздание и случайный джиттер.

Ключевые возможности

  • 01Триггеры cron, интервальные, календарные и для однократного запуска, а также пользовательские триггеры
  • 02Постоянные хранилища заданий для PostgreSQL, MySQL, SQLite и MongoDB
  • 03Брокеры событий PostgreSQL, Redis и MQTT для нескольких планировщиков и обработчиков
  • 04Синхронные и асинхронные API (asyncio, Trio)
  • 05Ограничения параллельного выполнения и допустимого опоздания, а также джиттер для заданий

Сценарии использования

  • Запуск периодических фоновых заданий в веб-приложении на Python
  • Планирование регулярной синхронизации данных или очистки на нескольких серверах с общей базой данных
  • Использование в качестве лёгкой очереди заданий, когда отдельная очередь задач не нужна
  • Запуск задач asyncio или Trio из приложения ASGI или WSGI

Что важно знать

  • Серия v4.0 является предварительным выпуском и может измениться несовместимым образом без возможности миграции, поэтому её не следует использовать в production.

Темы

Частые вопросы

Что такое apscheduler?
Библиотека-планировщик задач и очередь задач для Python с триггерами cron, интервалов, календарных и разовых запусков, а также поддержкой постоянных хранилищ заданий. APScheduler (Advanced Python Scheduler) — библиотека для запуска функций Python по расписанию или в виде заданий в очереди. Она подходит для небольших скриптов, работающих в одном процессе, а также может работать на нескольких узлах, где несколько планировщиков и обработчиков используют общее хранилище данных.
apscheduler можно использовать бесплатно? Какая у него лицензия?
apscheduler распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
apscheduler всё ещё поддерживается?
Активно поддерживается. Последний коммит в apscheduler — 26 окт. 2026 г..
Для чего можно использовать apscheduler?
Запуск периодических фоновых заданий в веб-приложении на Python Планирование регулярной синхронизации данных или очистки на нескольких серверах с общей базой данных Использование в качестве лёгкой очереди заданий, когда отдельная очередь задач не нужна Запуск задач asyncio или Trio из приложения ASGI или WSGI
Где скачать apscheduler?
Исходный код и инструкции по установке — на GitHub: https://github.com/agronholm/apscheduler

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Распределённая платформа планирования задач с веб-консолью, поддержкой Cron и фиксированных интервалов, шардированных broadcast-задач, failover и повторных попыток.

30,7 тыс.+13 за неделю11,5 тыс.JavaGPL-3.0Активно поддерживаетсяОбновлён 29 дней назад

Распределённая очередь задач для Python: выполняет фоновые задания и распределяет работу между воркерами через брокеры сообщений.

29,1 тыс.+31 за неделю5,3 тыс.PythonOtherАктивно поддерживаетсяОбновлён позавчера

Библиотека Go для распределённых очередей задач на базе Redis с планированием, повторами, приоритетами и веб-интерфейсом.

13,8 тыс.+12 за неделю991GoMITОбновлён 19 дней назад

Движок оркестрации фоновых задач, AI-агентов и долговечных рабочих процессов с SDK для Python, TypeScript, Go и Ruby и Postgres в качестве слоя надёжного хранения.

8,2 тыс.+30 за неделю535GoMITАктивно поддерживаетсяОбновлён 21 час назад

Распределённый фреймворк на Java для планирования задач: cron, по фиксированному интервалу, с задержкой и в стиле MapReduce на серверных и рабочих узлах.

7,8 тыс.+5 за неделю1,4 тыс.JavaApache-2.0Обновлён в прошлом месяце