A cron scheduler extension for the Que async job worker, enabling scheduled background jobs via YAML configuration.
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.
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.
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.
A lightweight cron scheduler for the async job worker Que
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports standard crontab syntax and simpler expressions like '@daily', with time zone options, using the fugit library for precise parsing and execution.
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.
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.
Enforces a single scheduler job via database constraints and triggers, preventing duplicate scheduling and race conditions without manual intervention.
Tightly coupled to the Que job queue and PostgreSQL, making it unsuitable for projects using other job systems like Sidekiq or databases like MySQL.
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.
Non-Rails applications must manually handle time zone configuration and other settings, as automatic inference relies on Rails, adding setup complexity.
que-scheduler is an open-source alternative to the following products: