awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
dbader avatar

dbader/schedule

0
View on GitHub↗
12,245 stars·998 forks·Python·MIT·19 viewsschedule.readthedocs.io↗

Schedule

This project is a lightweight Python scheduling library used for managing recurring jobs and automating the execution of functions within a single process. It serves as an event-based task scheduler that triggers functions at specific intervals or weekdays.

The library utilizes human-readable timing syntax to schedule periodic function calls. It supports the organization of timed workflows through job tag filtering and provides mechanisms for scheduler state inspection to track planned execution times.

The system handles both periodic and specific job scheduling with timezone support. It includes capabilities for managing execution limits via timeouts and manual cancellation.

Features

  • Job Schedulers - Provides a lightweight utility for automating recurring function calls at fixed intervals.
  • Interval Parsing - Provides human-readable timing syntax to define recurring task intervals.
  • Task Scheduling - Automates the execution of Python functions using human-readable timing syntax.
  • Time-Based Triggers - Uses time-based triggers to execute jobs when the system clock matches the scheduled time.
  • Job Scheduling - Enables scheduling of functions at precise times or specific weekdays with timezone support.
  • In-Process Task Schedulers - Manages a queue of timed events within the memory space of a single Python process.
  • Scheduling Libraries - Provides a lightweight Python library for managing recurring jobs without external dependencies.
  • Background Job Schedulers - Automates the execution of repetitive background tasks on a fixed schedule.
  • Job Tagging - Supports organizing and managing groups of timed tasks through assigned job tags.
  • Workflow Schedulers - Organizes and controls groups of timed tasks using tags, timeouts, and state monitoring.
  • Execution Time Limits - Includes capabilities to terminate scheduled tasks via timeout conditions or manual cancellation.
  • Job Registries - Maintains a dynamic registry of scheduled functions and metadata for runtime inspection and filtering.
  • Event Loops - Runs a continuous single-threaded event loop to sequentially check and execute pending jobs.
  • Synchronous Execution Models - Implements a blocking execution model that ensures scheduled tasks run synchronously on the main thread.
  • Scheduler State Inspection - Allows tracking of next planned execution times and system idleness to monitor scheduler progress.
  • Job Schedulers - Human-friendly job scheduling.
  • Notes and Productivity - Job scheduling for humans.

Star history

Star history chart for dbader/scheduleStar history chart for dbader/schedule

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does dbader/schedule do?

This project is a lightweight Python scheduling library used for managing recurring jobs and automating the execution of functions within a single process. It serves as an event-based task scheduler that triggers functions at specific intervals or weekdays.

What are the main features of dbader/schedule?

The main features of dbader/schedule are: Job Schedulers, Interval Parsing, Task Scheduling, Time-Based Triggers, Job Scheduling, In-Process Task Schedulers, Scheduling Libraries, Background Job Schedulers.

What are some open-source alternatives to dbader/schedule?

Open-source alternatives to dbader/schedule include: agronholm/apscheduler — APScheduler is a Python task scheduler designed to execute functions at specific times or recurring intervals. It… taskforcesh/bullmq — BullMQ is a Redis-backed message queue library and background processor designed for distributed task queueing. It… hatchet-dev/hatchet — Hatchet is an open-source durable workflow engine and task orchestration platform. It provides a framework for… prefecthq/prefect — Prefect is a workflow orchestration platform designed to define, schedule, and monitor complex data pipelines as… agenda/agenda — Agenda is a persistent background job scheduler and distributed task runner for Node.js applications. It functions as… go-co-op/gocron — gocron is a task scheduling library for Go designed to automate recurring tasks using crontab expressions, fixed…

Open-source alternatives to Schedule

Similar open-source projects, ranked by how many features they share with Schedule.
  • agronholm/apscheduleragronholm avatar

    agronholm/apscheduler

    7,539View on GitHub↗

    APScheduler is a Python task scheduler designed to execute functions at specific times or recurring intervals. It functions as an asynchronous background scheduler and distributed job dispatcher, allowing tasks to run concurrently with application lifecycles and web server request handling. The system distinguishes itself through a persistent job store that saves schedules and task states in external databases, ensuring continuity across process restarts. It separates task scheduling from execution by dispatching jobs to distributed workers in separate processes to prevent execution bottlenec

    Python
    View on GitHub↗7,539
  • taskforcesh/bullmqtaskforcesh avatar

    taskforcesh/bullmq

    8,432View on GitHub↗

    BullMQ is a Redis-backed message queue library and background processor designed for distributed task queueing. It functions as a distributed queue manager and task scheduler, utilizing Redis to manage asynchronous job processing and persistence. The system distinguishes itself through its role as a job workflow orchestrator, enabling the definition of complex parent-child job dependencies and hierarchies for multi-step workflows. It provides sandboxed process execution to isolate heavy workloads and prevent event loop blocking, alongside distributed rate limiting to protect downstream servic

    TypeScriptbackground-jobselixirnodejs
    View on GitHub↗8,432
  • hatchet-dev/hatchethatchet-dev avatar

    hatchet-dev/hatchet

    6,622View on GitHub↗

    Hatchet is an open-source durable workflow engine and task orchestration platform. It provides a framework for building and executing fault-tolerant, multi-step pipelines as directed acyclic graphs (DAGs), with automatic retries, scheduling, and real-time observability. The system is built around durable task checkpointing, which persists execution state after each step so work can resume from the last checkpoint after a worker crash or restart, and it supports event-driven task resumption that pauses a task until a matching external event arrives. The platform distinguishes itself through it

    Goconcurrencydagdistributed
    View on GitHub↗6,622
  • prefecthq/prefectPrefectHQ avatar

    PrefectHQ/prefect

    21,640View on GitHub↗

    Prefect is a workflow orchestration platform designed to define, schedule, and monitor complex data pipelines as Python code. It functions as a container-native engine that wraps individual tasks in isolated environments, ensuring consistent dependencies and resource allocation across diverse infrastructure. By utilizing a state-machine-based orchestration model, the system tracks execution progress through discrete transitions and persistent event logs to maintain reliable and observable task processing. The platform distinguishes itself through a decoupled worker-API architecture, which sep

    Pythonautomationdatadata-engineering
    View on GitHub↗21,640
  • See all 30 alternatives to Schedule→