Clockwork Web

A web interface for Clockwork

View the demo

  • see list of jobs
  • monitor jobs
  • disable jobs

:tangerine: Battle-tested at Instacart

Build Status

Installation

Add this line to your application’s Gemfile:

gem "clockwork_web"

And add it to your config/routes.rb.

mount ClockworkWeb::Engine, at: "clockwork"

Be sure to secure the dashboard in production.

To monitor and disable jobs, hook up Redis in an initializer.

ClockworkWeb.redis = Redis.new

Basic Authentication

Set the following variables in your environment or an initializer.

ENV["CLOCKWORK_USERNAME"] = "andrew"
ENV["CLOCKWORK_PASSWORD"] = "secret"

Devise

authenticate :user, ->(user) { user.admin? } do
  mount ClockworkWeb::Engine, at: "clockwork"
end

Monitoring

ClockworkWeb.running?
ClockworkWeb.multiple?

Customize

Change clock path

ClockworkWeb.clock_path = Rails.root.join("clock") # default

Turn off monitoring

ClockworkWeb.monitor = false

History

View the changelog

Contributing

Everyone is encouraged to help improve this project. Here are a few ways you can help:

To get started with development:

git clone https://github.com/ankane/clockwork_web.git
cd clockwork_web
bundle install
bundle exec rake test