Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Cassandra
  3. Scheduler

Scheduler

BSD-3-ClauseScala

A fault-tolerant Scala library for scheduling arbitrary code to run at arbitrary times across distributed systems.

GitHubGitHub
213 stars37 forks0 contributors

What is Scheduler?

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.

Target Audience

Scala developers building distributed services that require reliable, production-grade task scheduling across redundant, scalable deployments.

Value Proposition

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.

Overview

A Scala library for scheduling arbitrary code to run at an arbitrary time.

Use Cases

Best For

  • Scheduling tasks in Scala microservices with high reliability requirements
  • Building distributed cron-like systems across multiple data centers
  • Ensuring task ordering in redundant, fault-tolerant architectures
  • Managing job execution in scalable, multi-server deployments
  • Implementing production-grade scheduling with Kafka and Cassandra backends
  • Handling infrastructure changes while maintaining scheduled task consistency

Not Ideal For

  • Teams running simple, single-server applications without distributed infrastructure needs
  • Projects not already using Kafka and Cassandra, as it imposes these heavy dependencies
  • Developers seeking a lightweight, embeddable scheduler with minimal setup complexity

Pros & Cons

Pros

Production-Proven Reliability

Used in production at PagerDuty and designed for fault tolerance in multi-datacenter environments, as emphasized in the README.

Distributed and Scalable

Runs across many servers for redundancy and scaling, built from the ground up for multi-datacenter deployments.

Maintains Task Ordering

Ensures a sense of task ordering despite distributed execution, a key feature highlighted in the introduction.

Flexible Code Scheduling

Allows scheduling arbitrary Scala code to run at arbitrary, user-defined times, providing high customization.

Cons

Complex Setup and Dependencies

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.

Scala and JVM Lock-in

Specifically designed for Scala services, limiting adoption in polyglot environments or non-JVM language projects.

Documentation Scattered Across Guides

Most documentation is in specific guides in doc/, which can make initial onboarding harder compared to integrated, centralized documentation.

Frequently Asked Questions

Quick Stats

Stars213
Forks37
Contributors0
Open Issues7
Last commit4 years ago
CreatedSince 2016

Tags

#job-scheduler#scala-library#distributed-systems#fault-tolerance#kafka#production-ready#cassandra#task-scheduling

Built With

K
Kafka
C
Cassandra
S
Scala

Included in

Cassandra316
Auto-fetched 10 hours ago

Related Projects

CCMCCM

Apache Cassandra® Cluster Manager (CCM) – easily create and destroy clusters on localhost

Stars1,234
Forks309
Last commit4 months ago
Netflix-PriamNetflix-Priam

Co-Process for backup/recovery, Token Management, and Centralized Configuration management for Cassandra.

Stars1,039
Forks293
Last commit2 months ago
TwissandraTwissandra

Twissandra is an example project, created to learn and demonstrate how to use Cassandra. Running the project will present a website that has similar functionality to Twitter.

Stars798
Forks161
Last commit6 years ago
cmbcmb

This project is no longer actively supported. It is made available as read-only. A highly available, horizontally scalable queuing and notification service compatible with AWS SQS and SNS

Stars274
Forks49
Last commit7 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub