javan/whenever

Cron jobs in Ruby

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 27 minutes ago
Added to GitGenius on September 7th, 2026
Created on February 16th, 2009
Open Issues & Pull Requests: 84 (+0)
GitHub issues: Enabled
Number of forks: 715
Total Stargazers: 8,857 (+0)
Total Subscribers: 112 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 13.9 days
Mean response time: 128.7 days
90th percentile: 1029.2 days
Tracked items: 9

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 6
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,466 days
Stale 30+ days: 6
Stale 90+ days: 5

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • awaiting-feedback (1)
  • bugfix (1)
  • feature (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Whenever is a Ruby gem that provides a clear syntax for writing and deploying cron jobs.

Whenever solves the problem of managing cron jobs in Ruby applications by replacing raw crontab syntax with a readable Ruby DSL. Instead of editing crontab files directly, developers write job definitions in a `config/schedule.rb` file using natural language expressions. The gem converts these definitions to standard cron syntax and can deploy them to the system crontab. The tool does not automatically read or modify crontab; it generates the cron syntax and requires an explicit command to write it, giving developers control over what gets deployed.

Whenever suits Rails applications and other Ruby projects that need scheduled tasks. It works well for teams that prefer managing infrastructure through code rather than manual crontab editing, and it integrates with Capistrano for automated crontab updates during deployments. The gem ships with three built-in job types—command, runner, and rake—covering common use cases, and developers can define custom job types for specialized needs. The tool uses the Chronic gem to parse human-readable time expressions, supporting flexible scheduling syntax. It handles environment setup by running jobs with bash login shells, which helps with RVM compatibility and environment variable loading. Developers can customize email recipients for job output via the MAILTO environment variable, configure logging, and add comments to crontab entries for documentation.

The project maintains active engagement with pull requests and issues, showing responsiveness to community contributions and bug reports. Development includes regular updates to keep the tool compatible with evolving Ruby and Rails versions. The codebase remains focused on its core purpose without feature creep, and documentation is comprehensive enough to cover common customization scenarios.