Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Ruby
  3. Simple Scheduler

Simple Scheduler

MITRubyv2.0.0

A scheduling add-on for Sidekiq and Heroku Scheduler that enables jobs to run at any interval without a clock process.

GitHubGitHub
133 stars9 forks0 contributors

What is Simple Scheduler?

Simple Scheduler is a Ruby gem that extends Heroku Scheduler and Sidekiq to schedule recurring background jobs at custom intervals. It solves the limitation of Heroku Scheduler, which only supports 10-minute, hourly, or daily intervals, by allowing jobs to run at any frequency while maintaining reliability during server downtime.

Target Audience

Rails developers using Heroku and Sidekiq who need flexible, reliable scheduling for recurring tasks like nightly reports, weekly payroll, or frequent data syncs.

Value Proposition

It provides a simple, configuration-driven approach to job scheduling without requiring a separate clock process, ensuring jobs run even during outages by queuing them ahead, making it production-ready and maintenance-friendly.

Overview

An enhancement for Heroku Scheduler + Sidekiq for scheduling jobs at specific times.

Use Cases

Best For

  • Scheduling Sidekiq jobs at intervals not supported by Heroku Scheduler (e.g., every 2 minutes)
  • Ensuring recurring tasks run reliably despite Heroku dyno restarts or downtime
  • Managing nightly or weekly batch jobs like report generation or data cleanup
  • Handling payroll or billing jobs on specific days of the month
  • Running maintenance tasks at custom times across different time zones
  • Configuring job schedules via YAML without writing custom scheduler code

Not Ideal For

  • Projects not using Heroku, as it's optimized for Heroku Scheduler and requires manual setup elsewhere
  • Applications needing sub-minute precision or real-time job triggering, since execution depends on Heroku Scheduler's 10-minute intervals
  • Systems requiring advanced scheduling features like job dependencies or complex cron expressions beyond simple intervals
  • Teams using job queues other than Sidekiq or ActiveJob, due to tight integration requirements

Pros & Cons

Pros

Flexible Interval Scheduling

Allows custom intervals like minutes, hours, or weeks via a simple YAML configuration, directly addressing Heroku Scheduler's limitation to only 10-minute, hourly, or daily runs.

Downtime Resilience

Queues jobs into the future with a configurable queue_ahead setting (default 6 hours), ensuring execution even during server outages, as highlighted in its production readiness.

Expiration Control

Optional expires_after setting prevents stale jobs from running after delays, with built-in hooks for handling expired tasks via exception notifications.

Easy Configuration Hot-Reload

Changes to the YAML file are picked up on the next scheduler run without process restarts, simplifying maintenance and updates.

Cons

Heroku-Centric Design

Heavily dependent on Heroku Scheduler for triggering jobs; using it outside Heroku requires manual scheduling of the rake task, adding complexity.

Limited Scheduling Syntax

The :at parameter has constraints—e.g., jobs with intervals less than a day only run in specified hours—and lacks direct support for multiple weekdays or monthly dates, requiring guard clauses in job code.

Configuration Reset Hassle

Changes like renaming classes or altering run times may require running a separate rake task to reset the job queue, which can be disruptive in production environments.

No Built-in Job Dependencies

Does not support chaining or dependencies between scheduled jobs, forcing developers to implement custom logic within job classes for complex workflows.

Frequently Asked Questions

Quick Stats

Stars133
Forks9
Contributors0
Open Issues0
Last commit8 months ago
CreatedSince 2016

Tags

#activejob#recurring-tasks#sidekiq#rails#production-tools#job-scheduling#ruby-gem#background-jobs#scheduler#heroku#cron

Built With

R
Rails
Y
YAML
R
Ruby
A
ActiveJob
S
Sidekiq

Included in

Ruby14.1k
Auto-fetched 17 hours ago

Related Projects

WheneverWhenever

Cron jobs in Ruby

Stars8,862
Forks717
Last commit23 days ago
Rufus-SchedulerRufus-Scheduler

scheduler for Ruby (at, in, cron and every jobs)

Stars2,445
Forks201
Last commit1 month ago
minicronminicron

🕰️ Monitor your cron jobs

Stars2,318
Forks149
Last commit5 years ago
sidekiq-cronsidekiq-cron

Scheduler / Cron for Sidekiq jobs

Stars1,946
Forks302
Last commit1 month 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