Sha256: 29831b1ac5fe2e4b51e4f6bbce463fc99ca2a2cfde84f06c855b45fbb079d548

Contents?: true

Size: 1.96 KB

Versions: 17

Compression:

Stored size: 1.96 KB

Contents

require File.dirname(__FILE__) + '/base' unless defined?(Capper)

# whenever requires bundler
require 'capper/bundler'

Capper.load do
  set(:whenever_command) { "bundle exec whenever" }
  set(:whenever_identifier) { application }
  set(:whenever_environment) { fetch(:rails_env, "production") }
  set(:whenever_update_flags) { "--update-crontab #{whenever_identifier} --set environment=#{whenever_environment}" }
  set(:whenever_clear_flags) { "--clear-crontab #{whenever_identifier}" }

  # Disable cron jobs at the begining of a deploy.
  after "deploy:update_code", "whenever:clear_crontab"
  # Write the new cron jobs near the end.
  after "deploy:symlink", "whenever:update_crontab"
  # If anything goes wrong, undo.
  after "deploy:rollback", "whenever:update_crontab"

  namespace :whenever do
    desc <<-DESC
      Update application's crontab entries using Whenever. You can configure \
      the command used to invoke Whenever by setting the :whenever_command \
      variable, which can be used with Bundler to set the command to \
      "bundle exec whenever". You can configure the identifier used by setting \
      the :whenever_identifier variable, which defaults to the same value configured \
      for the :application variable. You can configure the environment by setting \
      the :whenever_environment variable, which defaults to the same value \
      configured for the :rails_env variable which itself defaults to "production". \
      Finally, you can completely override all arguments to the Whenever command \
      by setting the :whenever_update_flags variable.
    DESC
    task :update_crontab do
      on_rollback do
        if previous_release
          run "cd #{previous_release} && #{whenever_command} #{whenever_update_flags}"
        else
          run "crontab /dev/null"
        end
      end

      run "cd #{current_path} && #{whenever_command} #{whenever_update_flags}"
    end

    task :clear_crontab do
      run "crontab /dev/null"
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
capper-0.7.3 lib/capper/whenever.rb
capper-0.7.2 lib/capper/whenever.rb
capper-0.7.1 lib/capper/whenever.rb
capper-0.7.0 lib/capper/whenever.rb
capper-0.6.8 lib/capper/whenever.rb
capper-0.6.7 lib/capper/whenever.rb
capper-0.6.6 lib/capper/whenever.rb
capper-0.6.5 lib/capper/whenever.rb
capper-0.6.4 lib/capper/whenever.rb
capper-0.6.3 lib/capper/whenever.rb
capper-0.6.2 lib/capper/whenever.rb
capper-0.6.1 lib/capper/whenever.rb
capper-0.6.0 lib/capper/whenever.rb
capper-0.5.0 lib/capper/whenever.rb
capper-0.4.0 lib/capper/whenever.rb
capper-0.3.6 lib/capper/whenever.rb
capper-0.3.5 lib/capper/whenever.rb