A long-lived project that still receives updates
Rocket Job Mission Control is the Web user interface to manage Rocket Job.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

 Project Readme

Rocket Job Mission Control

Gem Version Build Status Downloads Coverage License

Rocket Job Mission Control is the web based user interface for Rocket Job, Ruby's missing batch system.

Screen shot

It is a mountable Rails Engine that plugs directly into an existing Rails application, giving operators a single place to:

  1. Manage jobs. Watch queued, scheduled, running, paused, completed, failed, and aborted jobs in real time, then pause, resume, retry, abort, run, or destroy them, and inspect the exceptions and data of any job.
  2. Manage servers and workers. See which servers and workers are active, what each worker is currently processing, and stop, pause, or resume servers.
  3. Manage directory monitoring. Create, edit, enable, disable, copy, and replicate Directory Monitor entries that turn arriving files into jobs.

Already in use in production processing large files with millions of records, as well as large jobs that walk through entire databases.

Documentation

Install

Rocket Job Mission Control is a Rails Engine. It can be mounted into any existing Rails 7.2, 8.0, or 8.1 application backed by MongoDB (via Mongoid).

Add to the host application's Gemfile:

gem 'rocketjob_mission_control'

Install:

bundle install

Mount the engine by adding the following route to config/routes.rb:

mount RocketJobMissionControl::Engine => '/rocketjob'

Mission Control is now available at /rocketjob.

Authorization

By default Mission Control grants full access to every action. To restrict access, register an authorization callback that returns the roles (and optional login) for the current request:

Rails.application.config.rocket_job_mission_control.authorization_callback = -> do
  { roles: current_user.rocket_job_roles, login: current_user.login }
end

Available roles are admin, editor, operator, manager, dirmon, user, and view. Roles are hierarchical, so granting a higher-privilege role also grants the lower ones.

Development and Testing

See TESTING.md for how to set up the project, run the test suite across supported Rails versions, and run Mission Control standalone against the bundled dummy application.

Versioning

This project uses Semantic Versioning.

Authors

Contributors