zeus 0.15.13

Boot any rails app in under a second

Homepage: https://github.com/burke/zeus

Platform: Rubygems

Language: Go

License: MIT

View on registry: https://rubygems.org/gems/zeus/versions/0.15.13

Documentation: http://www.rubydoc.info/gems/zeus/0.15.13

Direct download link: https://rubygems.org/downloads/zeus-0.15.13.gem

Install: gem install zeus -v 0.15.13


Join the chat at https://gitter.im/zeus-application-preloader/Lobby Build Status

Zeus preloads your Rails app so that your normal development tasks such as console, server, generate, and specs/tests take less than one second.

This screencast gives a quick overview of how to use zeus with Rails.

Watch the screencast!

Zeus is also covered in RailsCasts episode 412.

More generally, Zeus is a language-agnostic application checkpointer for non-multithreaded applications. Currently only ruby is targeted, but explicit support for other languages is possible.

Requirements (for use with Rails)

  • OS X 10.7+ OR Linux 2.6.13+
  • Rails 3.x or 4.x
  • Compatible Ruby installation
    • Ruby 2.0+
    • Rubinius

Please note: Zeus requires your project to be running on a file system that supports FSEvents or inotify. This means no NFS, CIFS, Samba, or VBox/VMWare shared folders.


Install the gem.

gem install zeus

Q: "I should put it in my Gemfile, right?"

A: No. You can, but running bundle exec zeus instead of zeus adds precious seconds to commands that otherwise would be quite a bit faster. Zeus was built to be run from outside of bundler.


It is common to see tests running twice when starting out with Zeus. If you see your tests/specs running twice, you should try disabling require 'rspec/autotest' and require 'rspec/autorun' (for RSpec), or require 'minitest/autorun' (for Minitest). (see #134 for more information).

Rails Set up

In your app's directory initialize zeus:

zeus init

which will create two files


Force the test environment: In test/test_helper.rb (or spec/spec_helper.rb if using RSpec), change:

ENV['RAILS_ENV'] ||= 'test'


ENV['RAILS_ENV'] = 'test'

More helpful set up hints at this very nice guide put together by Thoughtbot


Start the server:

zeus start

The server will print a list of available commands.

Run some commands in another shell:

zeus console
zeus server
zeus test test/unit/widget_test.rb
zeus test spec/widget_spec.rb
zeus generate model omg
zeus rake -T
zeus runner omg.rb


You need to restart zeus if you make changes to various initialization files. Examples of these files include:

  • FactoryGirl factories
  • RSpec support files

Related gems

  • Spork - a DRb server that forks before each run to ensure a clean testing state
  • Commands - a persistent console that runs Rails commands without reloading the env
  • Spring - like Zeus but in pure Ruby, totally automatic, and included in Rails 4.1+.

If you're switching from Spork, be sure to read the wiki page on Spork.

Customizing Zeus Commands

To add/modify commands, see docs/ruby/modifying.md.


To get started hacking on Zeus itself, see docs/overview.md.

See also the handy contribution guide at contributing.md.

Rails 2.3 Support

The default plan bundled with zeus only supports Rails 3.x and 4.x. There is a project to provide Rails 2.3 support here, however it has not been updated in some time.

Legacy Ruby Versions

Due to official Ruby support lapsing in Feb 2015, Ruby 1.9.3 and below are no longer officially supported. Zeus may work with them but we are not actively supporting them at this time. The last release tested with these versions is 0.15.4.


0.15.13 February 06, 2017
0.15.13.pre January 23, 2017
0.15.12 January 06, 2017
0.15.10 July 26, 2016
0.15.9 June 30, 2016
0.15.8 June 30, 2016
0.15.4 January 21, 2015
0.15.3 November 10, 2014
0.15.2 September 26, 2014
0.15.1 April 23, 2014
See all 49 releases

Project Statistics

SourceRank 16
Dependencies 0
Dependent projects 12
Dependent repositories 774
Total releases 49
Latest release
First release
Stars 3.14K
Forks 195
Watchers 67
Contributors 51
Repo Size: 1.89 MB

Top Contributors See all

Burke Libbey Drew Ulmer andrew-stripe Andrew Metcalf Philipp Fehre Turadg Aleahmad Andreas Fuchs Stefan Penner Michael Grosser Jesse Luehrs sshao Kashyap Arturo Pie Cezary Baginski Joel Chippindale Albert Wang Richard Cook Nick Bruns Artur Roszczyk Despo Pentara

Something wrong with this page? Make a suggestion

Export .ABOUT file for this library

Last synced: 2017-01-23 10:51:54 UTC

Login to resync this project