sidekiq-cron is a Ruby gem that adds recurring job scheduling to Sidekiq via cron expressions or natural language. It runs a poller thread alongside Sidekiq workers that checks Redis every configurable interval (default 30s) to enqueue jobs whose cron time matches. Jobs are stored in Redis hashes, and duplicate enqueuing across multiple Sidekiq processes is prevented using Redis sorted sets. The gem provides a web UI for managing jobs (enqueue, disable, enable, delete) and supports namespacing, ActiveJob integration, GlobalID argument serialization, and configuration of polling intervals, grace periods, and more. It depends on fugit for cron parsing and cronex for human-readable cron descriptions. The architecture is a clean extension of Sidekiq's own scheduler: it prepends into Sidekiq::Launcher and subclasses Sidekiq::Scheduled::Poller. The codebase is well-tested (Minitest + Mocha) and maintained, with CI running against multiple Ruby and Sidekiq versions.
Octobox is a self-hosted, open-source web application for managing GitHub notifications. Built as a Ruby on Rails monolith (Rails 8.1, Ruby 3.x), it syncs notifications from the GitHub API into a PostgreSQL database, providing a rich UI for filtering, archiving, muting, starring, and searching notifications. Background jobs via Sidekiq handle syncing subjects, labels, comments, and performing actions like marking notifications as read on GitHub. Real-time updates are pushed via ActionCable. The application also exposes a REST API for programmatic access and supports GitHub App and OAuth authentication. It is designed for both hosted (octobox.io) and self-hosted deployments, with Docker, Heroku, and OpenShift support. The codebase is well-tested with Minitest and system tests, and follows standard Rails conventions with some custom patterns for search parsing and API client pagination.