A fault-tolerant Scala library for scheduling arbitrary code to run at arbitrary times across distributed systems.
Scheduler is a Scala library that enables scheduling arbitrary code to run at arbitrary times in distributed systems. It solves the problem of reliable, fault-tolerant task scheduling across multiple servers and data centers, maintaining task ordering despite infrastructure changes.
Scala developers building distributed services that require reliable, production-grade task scheduling across redundant, scalable deployments.
Developers choose Scheduler for its proven production reliability at PagerDuty, built-in fault tolerance for multi-datacenter environments, and ability to maintain task ordering in distributed setups.
A Scala library for scheduling arbitrary code to run at an arbitrary time.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Used in production at PagerDuty and designed for fault tolerance in multi-datacenter environments, as emphasized in the README.
Runs across many servers for redundancy and scaling, built from the ground up for multi-datacenter deployments.
Ensures a sense of task ordering despite distributed execution, a key feature highlighted in the introduction.
Allows scheduling arbitrary Scala code to run at arbitrary, user-defined times, providing high customization.
Requires Kafka for task buffering and Cassandra for persistence, adding infrastructure overhead, and setup is more complicated than simple library inclusion, as noted in the README.
Specifically designed for Scala services, limiting adoption in polyglot environments or non-JVM language projects.
Most documentation is in specific guides in doc/, which can make initial onboarding harder compared to integrated, centralized documentation.