diff --git a/Capfile b/Capfile index 86e5243c..f29a788c 100644 --- a/Capfile +++ b/Capfile @@ -5,3 +5,4 @@ require 'capistrano/puma/nginx' require 'capistrano/rails' require 'capistrano/rvm' require 'capistrano/upload-config' +require "whenever/capistrano" diff --git a/Gemfile b/Gemfile index 8595fdf9..c5b3f2ac 100644 --- a/Gemfile +++ b/Gemfile @@ -59,6 +59,7 @@ end group :development, :test, :staging do gem 'byebug', platform: :ruby gem 'spring' + gem 'whenever', require: false end group :test do diff --git a/Gemfile.lock b/Gemfile.lock index 901aa706..073a2d11 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -370,6 +370,8 @@ GEM websocket-driver (0.6.3-java) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.2) + whenever (0.10.0) + chronic (>= 0.6.3) will_paginate (3.1.0) xpath (2.0.0) nokogiri (~> 1.3) @@ -442,4 +444,5 @@ DEPENDENCIES turbolinks uglifier (>= 1.3.0) web-console (~> 2.0) + whenever will_paginate (~> 3.0) diff --git a/config/deploy.rb b/config/deploy.rb index f4b10182..f7ba38f7 100644 --- a/config/deploy.rb +++ b/config/deploy.rb @@ -9,6 +9,8 @@ set :log_level, :info set :puma_threads, [0, 16] set :repo_url, 'git@github.com:openHPI/codeocean.git' +set :whenever_identifier, ->{ "#{fetch(:application)}_#{fetch(:stage)}" } + namespace :deploy do before 'check:linked_files', 'config:push' diff --git a/config/schedule.rb b/config/schedule.rb new file mode 100644 index 00000000..b8f8b30e --- /dev/null +++ b/config/schedule.rb @@ -0,0 +1,26 @@ +# Use this file to easily define all of your cron jobs. +# +# It's helpful, but not entirely necessary to understand cron before proceeding. +# http://en.wikipedia.org/wiki/Cron + +# Example: +# +# set :output, "/path/to/my/cron_log.log" +# +# every 2.hours do +# command "/usr/bin/some_great_command" +# runner "MyModel.some_method" +# rake "some:great:rake:task" +# end +# +# every 4.days do +# runner "AnotherModel.prune_old_records" +# end + +# Learn more: http://github.com/javan/whenever + +set :output, Whenever.path + '/log/whenever.log' + +every 1.day, at: '3:00 am' do + rake 'detect_exercise_anomalies:with_at_least[50,50]' +end