Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

mini_scheduler

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mini_scheduler

  • 0.17.0
  • Rubygems
  • Socket score

Version published
Maintainers
2
Created
Source

Build Status Gem Version

MiniScheduler

MiniScheduler adds recurring jobs to Sidekiq.

Installation

Add this line to your application's Gemfile:

gem 'mini_scheduler'

And then execute:

$ bundle

Or install it yourself as:

$ gem install mini_scheduler

In a Rails application, create files needed in your application to configure mini_scheduler:

$ bin/rails g mini_scheduler:install
$ bin/rails db:migrate

An initializer is created named config/initializers/mini_scheduler.rb which lists all the configuration options.

Configuring MiniScheduler

By default each instance of MiniScheduler will run with a single worker. To amend this behavior:

if Sidekiq.server? && defined?(Rails)
  Rails.application.config.after_initialize do
    MiniScheduler.start(workers: 5)
  end
end

This is useful for cases where you have extremely long running tasks that you would prefer did not starve.

Usage

Create jobs with a recurring schedule like this:

class MyHourlyJob
  include Sidekiq::Worker
  extend MiniScheduler::Schedule

  every 1.hour

  def execute(args)
    # some tasks
  end
end

Options for schedules:

  • queue followed by a queue name, like "queue :email", default queue is "default"
  • every followed by a duration in seconds, like "every 1.hour".
  • daily at: followed by a duration since midnight, like "daily at: 12.hours", to run only once per day at a specific time.

To view the scheduled jobs, their history, and the schedule, go to sidekiq's web UI and look for the "Scheduler" tab at the top.

To enable this view in Sidekiq, add require "mini_scheduler/web" to routes.rb:

require "sidekiq/web"
require "mini_scheduler/web"

Rails.application.routes.draw do
 ...
end

How to reach us

If you have questions about using mini_scheduler or found a problem, you can find us at https://meta.discourse.org.

FAQs

Package last updated on 08 Aug 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc