Skip to content
This repository has been archived by the owner on Mar 11, 2022. It is now read-only.
/ scheduler Public archive

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

License

Notifications You must be signed in to change notification settings

PagerDuty/scheduler

Repository files navigation

Scheduler CircleCI

Introduction

This library schedules arbitrary Scala code (tasks) to run at an arbitrary time. It tries to do this despite changing infrastructure, and it tries to maintain some sense of task ordering.

Scheduler is in production use at PagerDuty. It's meant to be included in Scala services deployed on many servers for redundancy and scaling. It's designed from the ground up to be running in a multi-datacenter environment. We take fault tolerance and reliability very seriously, so using this library is a little more complicated then just including it via SBT.

Scheduler relies on Kafka for task buffering and Cassandra for task persistence. Most documentation is in the specific guides in doc/.

Additional Documentation

Contact

This library is primarily maintained by the Core Team at PagerDuty. The best way to reach us is by opening a GitHub issue.