Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Ruby
  3. que-scheduler

que-scheduler

MITRubyv7.0.1

A cron scheduler extension for the Que async job worker, enabling scheduled background jobs via YAML configuration.

GitHubGitHub
115 stars23 forks0 contributors

What is que-scheduler?

que-scheduler is a Ruby gem that extends the Que job queue with cron-style scheduling capabilities. It allows developers to schedule background jobs using a YAML configuration file, ensuring jobs run at specified intervals even after system downtime. The scheduler itself runs as a Que job, leveraging the database for reliability and consistency.

Target Audience

Ruby developers using the Que job queue who need reliable, database-backed scheduling for background tasks, particularly in Rails applications or other PostgreSQL-based systems.

Value Proposition

Developers choose que-scheduler for its tight integration with Que, transactional reliability, and support for missed job execution after downtime via the `every_event` schedule type, avoiding the need for separate scheduler processes.

Overview

A lightweight cron scheduler for the async job worker Que

Use Cases

Best For

  • Scheduling periodic background jobs in Rails applications with Que
  • Ensuring critical batch jobs run even after system downtime or database restores
  • Replacing resque-scheduler or sidekiq-scheduler in Que-based systems
  • Auditing and monitoring scheduled job execution via built-in audit tables
  • Configuring job schedules via YAML for maintainability and version control
  • Running high-availability scheduling without separate daemon processes

Not Ideal For

  • Projects not using Que or PostgreSQL as their job queue and database
  • Applications requiring a graphical UI or admin dashboard for managing schedules
  • Teams needing cross-database or distributed scheduling across microservices

Pros & Cons

Pros

Reliable Cron Scheduling

Supports standard crontab syntax and simpler expressions like '@daily', with time zone options, using the fugit library for precise parsing and execution.

High Availability Design

Runs as a self-scheduling Que job leveraging PostgreSQL's ACID guarantees, ensuring no separate processes are needed and scheduling state survives database restores or downtime.

Comprehensive Audit Trail

Includes dedicated audit tables (que_scheduler_audit and que_scheduler_audit_enqueued) that log all scheduler runs and enqueued jobs, aiding in monitoring and debugging.

Concurrent Safety

Enforces a single scheduler job via database constraints and triggers, preventing duplicate scheduling and race conditions without manual intervention.

Cons

Que and PostgreSQL Lock-in

Tightly coupled to the Que job queue and PostgreSQL, making it unsuitable for projects using other job systems like Sidekiq or databases like MySQL.

Migration Complexity

Major version upgrades require database migrations that can be slow and disruptive, such as adding primary keys to large audit tables, with breaking changes necessitating careful planning.

Configuration Overhead for Non-Rails

Non-Rails applications must manually handle time zone configuration and other settings, as automatic inference relies on Rails, adding setup complexity.

Open Source Alternative To

que-scheduler is an open-source alternative to the following products:

s
sidekiq-scheduler

sidekiq-scheduler is a Ruby gem that adds cron-like job scheduling capabilities to Sidekiq, allowing periodic tasks to run at specified intervals.

r
resque-scheduler

resque-scheduler is a Resque plugin that adds scheduled jobs and recurring jobs to the Resque job queue system.

Frequently Asked Questions

Quick Stats

Stars115
Forks23
Contributors0
Open Issues7
Last commit1 month ago
CreatedSince 2017

Tags

#async-processing#database-backed#job-scheduling#ruby-gem#cron-scheduler#postgresql#background-jobs#rails-integration#yaml-configuration

Built With

Y
YAML
R
Ruby
P
PostgreSQL
A
ActiveRecord

Included in

Ruby14.1k
Auto-fetched 9 hours ago

Related Projects

WheneverWhenever

Cron jobs in Ruby

Stars8,857
Forks715
Last commit2 months ago
Rufus-SchedulerRufus-Scheduler

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

Stars2,446
Forks200
Last commit2 months ago
minicronminicron

🕰️ Monitor your cron jobs

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

Scheduler / Cron for Sidekiq jobs

Stars1,943
Forks303
Last commit3 months 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