diff --git a/Gemfile b/Gemfile index 9db2f914..ace4c1c0 100644 --- a/Gemfile +++ b/Gemfile @@ -23,7 +23,7 @@ gem 'dalli' gem 'pry' gem 'metriks', '0.9.9.2' -gem 'ar-octopus', github: 'travis-ci/octopus', require: 'octopus' +gem 'ar-octopus', github: 'travis-ci/octopus', require: nil group :test do gem 'rspec', '~> 2.11' diff --git a/lib/travis/api/app.rb b/lib/travis/api/app.rb index d07ffa4f..68ed7981 100644 --- a/lib/travis/api/app.rb +++ b/lib/travis/api/app.rb @@ -4,7 +4,6 @@ require 'rack' require 'rack/protection' require 'rack/contrib' require 'rack/cache' -require 'octopus' require 'active_record' require 'redis' require 'gh' @@ -143,6 +142,7 @@ module Travis::Api Travis::Database.connect return unless Travis.config.use_database_follower? + require 'octopus' if Travis.env == 'production' || Travis.env == 'staging' puts "Setting up the DB follower as a read slave" diff --git a/lib/travis/api/app/helpers/db_follower.rb b/lib/travis/api/app/helpers/db_follower.rb index 4658aca2..1bd654e4 100644 --- a/lib/travis/api/app/helpers/db_follower.rb +++ b/lib/travis/api/app/helpers/db_follower.rb @@ -4,7 +4,11 @@ class Travis::Api::App module Helpers module DbFollower def prefer_follower - Octopus.using(:follower) do + if Travis.config.use_database_follower? + Octopus.using(:follower) do + yield + end + else yield end end