scheduler_daemon 1.1.3 → 1.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 890009567ec01090073f904f667bc6a367617c0255f5edabb8a491c99d4044a2
4
+ data.tar.gz: 854decf91b48d1d3d039c0242e3332252e98c935ec77515aa487ca67a8972226
5
+ SHA512:
6
+ metadata.gz: 398d7780674d8abf32cc926d761b1ddfa93b1b0d072b79e61cd831f03992fae3d367d9a7953ce96031d125cc930ceeb40818fe2abfa3008cd21b63e35e880d7f
7
+ data.tar.gz: 330ae547ba14f48fdbb87fa6a0600edd1a9c5869eb980039a9cf0d9e918dc8b2899b1a9186717fed79f8024b83d27efd4e81a950257d2e5e04f1227b66e50968
data/Gemfile CHANGED
@@ -1,7 +1,2 @@
1
1
  source "http://rubygems.org"
2
2
  gemspec
3
- gem 'eventmachine', '>= 0.12.8'
4
- gem 'daemons', '>= 1.0.10'
5
- gem 'rufus-scheduler', '>= 2.0.1'
6
- gem 'chronic', '>= 0.2.0'
7
- gem 'activesupport'
data/Gemfile.lock CHANGED
@@ -1,36 +1,48 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- scheduler_daemon (1.1.0)
4
+ scheduler_daemon (1.1.5)
5
5
  activesupport
6
6
  chronic (>= 0.2.0)
7
- chronic (>= 0.2.0)
8
- daemons (>= 1.0.10)
9
7
  daemons (>= 1.0.10)
10
8
  eventmachine (>= 0.12.8)
11
- eventmachine (>= 0.12.8)
12
- rufus-scheduler (>= 2.0.1)
13
- rufus-scheduler (>= 2.0.1)
14
- scheduler_daemon
9
+ rufus-scheduler (~> 2.0.24)
15
10
 
16
11
  GEM
17
12
  remote: http://rubygems.org/
18
13
  specs:
19
- activesupport (3.0.6)
20
- chronic (0.3.0)
21
- daemons (1.1.2)
22
- eventmachine (0.12.10)
23
- rufus-scheduler (2.0.8)
24
- tzinfo (>= 0.3.23)
25
- tzinfo (0.3.26)
14
+ activesupport (7.0.4.2)
15
+ concurrent-ruby (~> 1.0, >= 1.0.2)
16
+ i18n (>= 1.6, < 2)
17
+ minitest (>= 5.1)
18
+ tzinfo (~> 2.0)
19
+ chronic (0.10.2)
20
+ concurrent-ruby (1.2.0)
21
+ daemons (1.4.1)
22
+ diff-lcs (1.5.0)
23
+ eventmachine (1.2.7)
24
+ i18n (1.12.0)
25
+ concurrent-ruby (~> 1.0)
26
+ minitest (5.17.0)
27
+ rspec (2.13.0)
28
+ rspec-core (~> 2.13.0)
29
+ rspec-expectations (~> 2.13.0)
30
+ rspec-mocks (~> 2.13.0)
31
+ rspec-core (2.13.1)
32
+ rspec-expectations (2.13.0)
33
+ diff-lcs (>= 1.1.3, < 2.0)
34
+ rspec-mocks (2.13.1)
35
+ rufus-scheduler (2.0.24)
36
+ tzinfo (>= 0.3.22)
37
+ tzinfo (2.0.6)
38
+ concurrent-ruby (~> 1.0)
26
39
 
27
40
  PLATFORMS
28
41
  ruby
29
42
 
30
43
  DEPENDENCIES
31
- activesupport
32
- chronic (>= 0.2.0)
33
- daemons (>= 1.0.10)
34
- eventmachine (>= 0.12.8)
35
- rufus-scheduler (>= 2.0.1)
44
+ rspec (~> 2.13.0)
36
45
  scheduler_daemon!
46
+
47
+ BUNDLED WITH
48
+ 2.4.3
data/README.markdown CHANGED
@@ -1,146 +1,163 @@
1
- Scheduler Daemon
2
- ================
1
+ # Scheduler Daemon
3
2
 
4
3
  Rails 3+ compatible scheduler daemon (see branches for older versions).
5
4
 
6
- Replaces cron/rake pattern of periodically running rake tasks
7
- to perform maintenance tasks in Rails apps. Scheduler Daemon is made specifically for your Rails app,
8
- and only loads the environment once, no matter how many tasks run.
5
+ Replaces cron/rake pattern of periodically running rake tasks to perform maintenance
6
+ tasks in Rails apps. Scheduler Daemon is made specifically for your Rails app, and only
7
+ loads the environment once, no matter how many tasks run.
9
8
 
10
- What's so great about it? Well, I'm glad you asked!
9
+ What's so great about it? Well, I'm glad you asked!
11
10
 
12
11
  - Only loads your Rails environment once on daemon start, not every time a task is run
13
- - Allows you to easily deploy the scheduled tasks with your Rails app instead of depending on an
14
- administrator to update crontab
12
+ - Allows you to easily deploy the scheduled tasks with your Rails app instead of depending on an administrator to update crontab
15
13
  - Can be installed as a gem or a plugin (I suggest gem)
16
14
  - It doesn't use rake or cron!
17
15
  - Gets you up and running with your own daemon in under 2 minutes
18
16
  - Specially designed to work with your rails app!
19
17
 
20
- Setup
21
- =====
18
+ ## Setup
22
19
 
23
20
  Install as a gem or plugin.
24
21
 
25
22
  As a gem, the old-fashioned way:
26
23
 
27
- gem install scheduler_daemon
24
+ ```
25
+ gem install scheduler_daemon
26
+ ```
28
27
 
29
- As a gem with bundler, add to your ./Gemfile:
28
+ As a gem with bundler, add to your `./Gemfile`:
30
29
 
31
- gem 'scheduler_daemon'
32
-
33
- I pretty much assume you chose this option below and prefix most commands with "bundle exec"
30
+ ```
31
+ gem 'scheduler_daemon'
32
+ ```
34
33
 
35
- As a plugin: (might be awkward to call the binary to start up the daemon...)
34
+ I pretty much assume you chose this option below and prefix most commands with `bundle exec`
36
35
 
37
- script/plugin install git://github.com/ssoroka/scheduler_daemon.git
38
- # Install required gems
39
- gem install daemons rufus-scheduler eventmachine chronic -s http://gemcutter.org
36
+ As a plugin (deprecated): (might be awkward to call the binary to start up the daemon...)
37
+
38
+ ```
39
+ rails plugin install git://github.com/ssoroka/scheduler_daemon.git
40
+ # Install required gems
41
+ gem install daemons rufus-scheduler eventmachine chronic -s http://gemcutter.org
42
+ ```
40
43
 
41
44
  Optionally generate the default scheduler daemon task for your rails app:
42
45
 
43
- script/rails generate scheduler_task MyNewTask
46
+ ```
47
+ rails generate scheduler_task MyNewTask
48
+ ```
44
49
 
45
- which will create an task named:
50
+ which will create a task named:
46
51
 
47
- scheduled_tasks/my_new_task.rb
52
+ ```
53
+ scheduled_tasks/my_new_task.rb
54
+ ```
48
55
 
49
- Usage
50
- =====
56
+ ## Usage
51
57
 
52
58
  generate a new scheduled task:
53
59
 
54
- script/rails generate scheduler_task MyTaskName
60
+ ```
61
+ rails generate scheduler_task MyTaskName
62
+ ```
63
+
64
+ If you have problems with that, the template for new tasks is [here](lib/scheduler_daemon/rails/generators/scheduler_task/templates/scheduled_tasks/example_task.rb)
55
65
 
56
- If you have problems with that, the template for new tasks is in the gem under:
57
-
58
- lib/scheduler_daemon/rails/generators/scheduler_task/templates/scheduled_tasks/example_task.rb
59
-
60
- you can always copy it and make modifications, or see "Manually create tasks" below.
66
+ You can always copy it and make modifications, or see [Manually create tasks](#manually-create-tasks)
61
67
 
62
68
  Tasks support their own special DSL; commands are:
63
69
 
64
- environments :production, :staging # run only in environments listed. (:all by default)
65
- every '1d' # run every day
66
- every '1d', :first_at => Chronic.parse("2 am") # run every day, starting at 2 am (see caveat below)
67
- at Cronic.parse('5 pm') # run *once* at 5 pm today
68
- # (relative to scheduler start/restart time )
69
- # (happens every time scheduler starts/restarts)
70
- # (see caveat below )
71
- cron '* 4 * * *' # cron style (run every 4 am)
72
- in '30s' # run once, 30 seconds from scheduler start/restart
70
+ ```rb
71
+ environments :production, :staging # run only in environments listed. (:all by default)
72
+ every '1d' # run every day
73
+ every '1d', :first_at => Chronic.parse("2 am") # run every day, starting at 2 am (see caveat below)
74
+ at Cronic.parse('5 pm') # run *once* at 5 pm today
75
+ # (relative to scheduler start/restart time )
76
+ # (happens every time scheduler starts/restarts)
77
+ # (see caveat below )
78
+ cron '* 4 * * *' # cron style (run every 4 am)
79
+ self.in '30s' # run once, 30 seconds from scheduler start/restart
80
+ # "self." is required--"in" is a keyword
81
+ ```
73
82
 
74
83
  fire up the daemon in console mode to test it out
75
84
 
76
- bundle exec scheduler_daemon run
85
+ ```
86
+ bundle exec scheduler_daemon run
87
+ ```
77
88
 
78
- For production environments, add the daemon to the system start-up, and
79
- capistrano deploy scripts, etc. Something like:
89
+ For production environments, add the daemon to the system start-up, and capistrano
90
+ deploy scripts, etc. Something like:
80
91
 
81
- export RAILS_ENV=production
82
- bundle exec scheduler_daemon start
92
+ ```
93
+ export RAILS_ENV=production
94
+ bundle exec scheduler_daemon start
95
+ ```
83
96
 
84
97
  Selectively run tasks like so:
85
98
 
86
- bundle exec scheduler_daemon start -- --only=task_name1,task_name2 --except=not_me
99
+ ```
100
+ bundle exec scheduler_daemon start -- --only=task_name1,task_name2 --except=not_me
101
+ ```
87
102
 
88
- Manually create tasks
89
- =====================
103
+ ## Manually create tasks
90
104
 
91
- If you don't want to use this gem with Rails, you can manually create tasks in a scheduled_tasks/ subdirectory and start the daemon with --skip-rails (though it'll figure it out anyway if there's no config/environment.rb file in the launch directory or --dir=/path)
105
+ If you don't want to use this gem with Rails, you can manually create tasks in a
106
+ `scheduled_tasks/` subdirectory and start the daemon with `--skip-rails` (though it'll
107
+ figure it out anyway if there's no `config/environment.rb` file in the launch directory
108
+ or `--dir=/path`)
92
109
 
93
110
  Here's an example task file.
94
111
 
95
- class CleanUpTask < Scheduler::SchedulerTask
96
- every '2m'
97
-
98
- def run
99
- do_something
100
- log("I've done things")
101
- end
102
- end
112
+ ```rb
113
+ class CleanUpTask < Scheduler::SchedulerTask
114
+ every '2m'
103
115
 
104
- Specs
105
- =====
116
+ def run
117
+ do_something
118
+ log("I've done things")
119
+ end
120
+ end
121
+ ```
106
122
 
107
- See the spec for session cleaner for an idea on how to write specs for your tasks
123
+ ## Specs
108
124
 
109
- To Do
110
- =====
125
+ See [this example spec](scheduler_daemon/spec/scheduled_tasks/session_cleaner_task_spec.rb)
126
+ for an idea on how to write specs for your tasks.
127
+
128
+ ## To Do
111
129
 
112
130
  Looking for suggestions!
113
131
 
114
132
  Send requests to ssoroka78@gmail.com or on twitter, @ssoroka
115
133
 
116
- Bugs
117
- ====
134
+ ## Bugs
118
135
 
119
- Submit bugs here http://github.com/ssoroka/scheduler_daemon/issues
136
+ Submit bugs [here](http://github.com/ssoroka/scheduler_daemon/issues)
120
137
 
121
- Caveats
122
- =======
138
+ ## Caveats
123
139
 
124
- When using the cronic gem to parse dates, be careful of how it interprets your date,
125
- for example:
140
+ When using the cronic gem to parse dates, be careful of how it interprets your date, for
141
+ example:
126
142
 
127
- every '24h', :first_at => Chronic.parse('noon')
143
+ ```
144
+ every '24h', :first_at => Chronic.parse('noon')
145
+ ```
128
146
 
129
147
  will be once a day at noon, but the first time the server starts up (or restarts), noon
130
- is relative to the current time of day. Before lunch, and it's in the future. If the
131
- daemon starts up after lunch, the date is in the past, *and the task is immediately run*
132
- because it thinks it missed its last execution time. Depending on what your task is,
133
- this may or may not be a problem. If you always want the date to resolve in the future
134
- with terms like "noon", "3 am" and "midnight", prepend "next" to it. ie:
148
+ is relative to the current time of day. Before lunch, and it's in the future. If the
149
+ daemon starts up after lunch, the date is in the past, *and the task is immediately run*
150
+ because it thinks it missed its last execution time. Depending on what your task is,
151
+ this may or may not be a problem. If you always want the date to resolve in the future
152
+ with terms like "noon", "3 am" and "midnight", prepend "next" to it. ie:
135
153
 
136
- every '24h', :first_at => Chronic.parse('next noon')
154
+ ```
155
+ every '24h', :first_at => Chronic.parse('next noon')
156
+ ```
137
157
 
138
- Author
139
- ======
158
+ ## Author
140
159
 
141
160
  Steven Soroka
142
161
 
143
162
  * [@ssoroka](http://twitter.com/ssoroka)
144
163
  * [My Github repo](http://github.com/ssoroka)
145
- * [My blog](http://blog.stevensoroka.ca)
146
-
data/Rakefile CHANGED
@@ -5,8 +5,8 @@ begin
5
5
  require 'jeweler'
6
6
  Jeweler::Tasks.new do |gem|
7
7
  gem.name = "scheduler_daemon"
8
- gem.summary = %Q{Rails 3 compatible scheduler daemon. Replaces cron/rake pattern of periodically running rake tasks
9
- to perform maintenance tasks in Rails apps. Scheduler Daemon is made specifically for your Rails app,
8
+ gem.summary = %Q{Rails 3 compatible scheduler daemon. Replaces cron/rake pattern of periodically running rake tasks
9
+ to perform maintenance tasks in Rails apps. Scheduler Daemon is made specifically for your Rails app,
10
10
  and only loads the environment once, no matter how many tasks run.
11
11
 
12
12
  What's so great about it? Well, I'm glad you asked!
@@ -22,16 +22,18 @@ begin
22
22
  gem.email = "ssoroka78@gmail.com"
23
23
  gem.homepage = "http://github.com/ssoroka/scheduler_daemon"
24
24
  gem.authors = ["Steven Soroka"]
25
+ gem.add_dependency('activesupport')
25
26
  gem.add_dependency('eventmachine', '>= 0.12.8')
26
27
  gem.add_dependency('daemons', '>= 1.0.10')
27
- gem.add_dependency('rufus-scheduler', '>= 2.0.1')
28
+ gem.add_dependency('rufus-scheduler', '~> 2.0.24')
28
29
  gem.add_dependency('chronic', '>= 0.2.0')
30
+ gem.add_development_dependency('rspec', '~> 2.13.0')
29
31
 
30
32
  gem.executables = ['scheduler_daemon']
31
-
33
+
32
34
  everything_from_dirs = %w(bin lib spec)
33
35
  gem.files = everything_from_dirs.map{|d| Dir["#{d}/**/*"] }.flatten
34
- gem.files += Dir['*'] - (everything_from_dirs + ['pkg'])
36
+ gem.files += Dir['*'] - (everything_from_dirs + %w(pkg vendor))
35
37
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
36
38
  end
37
39
 
@@ -44,16 +46,16 @@ end
44
46
  # spec.libs << 'lib' << 'spec'
45
47
  # spec.spec_files = FileList['spec/**/*_spec.rb']
46
48
  # end
47
- #
49
+ #
48
50
  # Spec::Rake::SpecTask.new(:rcov) do |spec|
49
51
  # spec.libs << 'lib' << 'spec'
50
52
  # spec.pattern = 'spec/**/*_spec.rb'
51
53
  # spec.rcov = true
52
54
  # end
53
- #
54
- #
55
+ #
56
+ #
55
57
  # task :default => :spec
56
- #
58
+ #
57
59
  # require 'rake/rdoctask'
58
60
  # Rake::RDocTask.new do |rdoc|
59
61
  # if File.exist?('VERSION.yml')
@@ -62,10 +64,10 @@ end
62
64
  # else
63
65
  # version = ""
64
66
  # end
65
- #
67
+ #
66
68
  # rdoc.rdoc_dir = 'rdoc'
67
69
  # rdoc.title = "scheduler_daemon #{version}"
68
70
  # rdoc.rdoc_files.include('README*')
69
71
  # rdoc.rdoc_files.include('lib/**/*.rb')
70
72
  # end
71
- #
73
+ #
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.3
1
+ 1.1.5
data/bin/scheduler_daemon CHANGED
@@ -41,16 +41,20 @@ end
41
41
 
42
42
  app_args[:dir] ||= Dir.pwd
43
43
  app_args[:pid_dir] ||= File.expand_path(File.join(app_args[:dir], 'log'))
44
+ app_args[:log_dir] ||= File.expand_path(File.join(app_args[:dir], 'log'))
45
+ app_args[:multiple] ||= false
44
46
  scheduler = File.join(File.dirname(__FILE__), %w(.. lib loader scheduler_loader.rb))
45
47
 
46
- raise "#{pid_dir} does not exist" unless File.exist?(app_args[:pid_dir])
48
+ raise "#{app_args[:pid_dir]} does not exist" unless File.exist?(app_args[:pid_dir])
49
+ raise "#{app_args[:log_dir]} does not exist" unless File.exist?(app_args[:log_dir])
47
50
 
48
51
  app_options = {
49
52
  :app_name => 'scheduler_daemon',
50
53
  :ARGV => launch_args(app_args),
51
54
  :dir_mode => :normal,
52
55
  :dir => app_args[:pid_dir],
53
- :multiple => false,
56
+ :log_dir => app_args[:log_dir],
57
+ :multiple => app_args[:multiple],
54
58
  :backtrace => true,
55
59
  :log_output => true,
56
60
  :monitor => true
@@ -92,12 +92,13 @@ module Scheduler
92
92
 
93
93
  EventMachine::run {
94
94
  @rufus_scheduler = Rufus::Scheduler::EmScheduler.start_new
95
+ @rufus_scheduler.singleton_class.send :define_method, :log, self.method(:log).to_proc
95
96
 
96
97
  def @rufus_scheduler.handle_exception(job, exception)
97
- msg = "[#{env_name}] scheduler job #{job.job_id} (#{job.tags * ' '}) caught exception #{exception.inspect}"
98
+ msg = "[#{@env_name}] scheduler job #{job.job_id} (#{job.tags * ' '}) caught exception #{exception.inspect}"
98
99
  log msg
99
100
  log exception.backtrace.join("\n")
100
- Scheduler::ExceptionHandler.handle_exception(exception, job, message)
101
+ Scheduler::ExceptionHandler.handle_exception(exception, job, msg)
101
102
  end
102
103
 
103
104
  def @rufus_scheduler.daemon_scheduler
@@ -106,10 +107,10 @@ module Scheduler
106
107
 
107
108
  # This is where the magic happens. tasks in scheduled_tasks/*.rb are loaded up.
108
109
  tasks.each do |task|
109
- if task.should_run_in_current_environment?(env_name)
110
+ if task.should_run_in_current_environment?(@env_name)
110
111
  task.add_to(@rufus_scheduler)
111
112
  else
112
- log "[#{env_name}] #{task} not configured to run; skipping."
113
+ log "[#{@env_name}] #{task} not configured to run; skipping."
113
114
  end
114
115
  end
115
116
  }
@@ -19,7 +19,7 @@ module Scheduler
19
19
  ensure
20
20
  # Note: AR's ActiveRecord::Base.connection_pool.with_connection(&block) seems broken;
21
21
  # it doesn't release the connection properly.
22
- ActiveRecord::Base.connection_pool.release_connection
22
+ ActiveRecord::Base.connection_pool.release_connection if defined?(ActiveRecord)
23
23
  end
24
24
  end
25
25
  end
@@ -67,9 +67,9 @@ module Scheduler
67
67
  def run
68
68
  nil
69
69
  end
70
-
70
+
71
71
  def log(*args)
72
- daemon_scheduler.log(*args)
72
+ daemon_scheduler.log(*args) if daemon_scheduler
73
73
  end
74
74
  alias :puts :log
75
75
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "scheduler_daemon"
8
- s.version = "1.1.3"
8
+ s.version = "1.1.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Steven Soroka"]
12
- s.date = "2013-03-07"
12
+ s.date = "2014-02-25"
13
13
  s.description = "a Rails 2.3, Rails 3, and Ruby compatible scheduler daemon. Replaces cron/rake pattern of periodically running rake tasks to perform maintenance tasks, only loading the environment ONCE."
14
14
  s.email = "ssoroka78@gmail.com"
15
15
  s.executables = ["scheduler_daemon"]
@@ -47,45 +47,33 @@ Gem::Specification.new do |s|
47
47
  s.homepage = "http://github.com/ssoroka/scheduler_daemon"
48
48
  s.require_paths = ["lib"]
49
49
  s.rubygems_version = "1.8.23"
50
- s.summary = "Rails 3 compatible scheduler daemon. Replaces cron/rake pattern of periodically running rake tasks to perform maintenance tasks in Rails apps. Scheduler Daemon is made specifically for your Rails app, and only loads the environment once, no matter how many tasks run. What's so great about it? Well, I'm glad you asked! - Only loads your Rails environment once on daemon start, not every time a task is run - Allows you to easily deploy the scheduled tasks with your Rails app instead of depending on an administrator to update crontab - It doesn't use rake or cron! - Gets you up and running with your own daemon in under 2 minutes"
50
+ s.summary = "Rails 3 compatible scheduler daemon. Replaces cron/rake pattern of periodically running rake tasks to perform maintenance tasks in Rails apps. Scheduler Daemon is made specifically for your Rails app, and only loads the environment once, no matter how many tasks run. What's so great about it? Well, I'm glad you asked! - Only loads your Rails environment once on daemon start, not every time a task is run - Allows you to easily deploy the scheduled tasks with your Rails app instead of depending on an administrator to update crontab - It doesn't use rake or cron! - Gets you up and running with your own daemon in under 2 minutes"
51
51
 
52
52
  if s.respond_to? :specification_version then
53
53
  s.specification_version = 3
54
54
 
55
55
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
56
- s.add_runtime_dependency(%q<scheduler_daemon>, [">= 0"])
57
- s.add_runtime_dependency(%q<eventmachine>, [">= 0.12.8"])
58
- s.add_runtime_dependency(%q<daemons>, [">= 1.0.10"])
59
- s.add_runtime_dependency(%q<rufus-scheduler>, [">= 2.0.1"])
60
- s.add_runtime_dependency(%q<chronic>, [">= 0.2.0"])
61
56
  s.add_runtime_dependency(%q<activesupport>, [">= 0"])
62
57
  s.add_runtime_dependency(%q<eventmachine>, [">= 0.12.8"])
63
58
  s.add_runtime_dependency(%q<daemons>, [">= 1.0.10"])
64
- s.add_runtime_dependency(%q<rufus-scheduler>, [">= 2.0.1"])
59
+ s.add_runtime_dependency(%q<rufus-scheduler>, ["~> 2.0.24"])
65
60
  s.add_runtime_dependency(%q<chronic>, [">= 0.2.0"])
61
+ s.add_development_dependency(%q<rspec>, ["~> 2.13.0"])
66
62
  else
67
- s.add_dependency(%q<scheduler_daemon>, [">= 0"])
68
- s.add_dependency(%q<eventmachine>, [">= 0.12.8"])
69
- s.add_dependency(%q<daemons>, [">= 1.0.10"])
70
- s.add_dependency(%q<rufus-scheduler>, [">= 2.0.1"])
71
- s.add_dependency(%q<chronic>, [">= 0.2.0"])
72
63
  s.add_dependency(%q<activesupport>, [">= 0"])
73
64
  s.add_dependency(%q<eventmachine>, [">= 0.12.8"])
74
65
  s.add_dependency(%q<daemons>, [">= 1.0.10"])
75
- s.add_dependency(%q<rufus-scheduler>, [">= 2.0.1"])
66
+ s.add_dependency(%q<rufus-scheduler>, ["~> 2.0.24"])
76
67
  s.add_dependency(%q<chronic>, [">= 0.2.0"])
68
+ s.add_dependency(%q<rspec>, ["~> 2.13.0"])
77
69
  end
78
70
  else
79
- s.add_dependency(%q<scheduler_daemon>, [">= 0"])
80
- s.add_dependency(%q<eventmachine>, [">= 0.12.8"])
81
- s.add_dependency(%q<daemons>, [">= 1.0.10"])
82
- s.add_dependency(%q<rufus-scheduler>, [">= 2.0.1"])
83
- s.add_dependency(%q<chronic>, [">= 0.2.0"])
84
71
  s.add_dependency(%q<activesupport>, [">= 0"])
85
72
  s.add_dependency(%q<eventmachine>, [">= 0.12.8"])
86
73
  s.add_dependency(%q<daemons>, [">= 1.0.10"])
87
- s.add_dependency(%q<rufus-scheduler>, [">= 2.0.1"])
74
+ s.add_dependency(%q<rufus-scheduler>, ["~> 2.0.24"])
88
75
  s.add_dependency(%q<chronic>, [">= 0.2.0"])
76
+ s.add_dependency(%q<rspec>, ["~> 2.13.0"])
89
77
  end
90
78
  end
91
79
 
@@ -3,7 +3,7 @@ require 'scheduler_daemon/command_line_args_to_hash'
3
3
 
4
4
  describe CommandLineArgsToHash do
5
5
  it 'should process arguments' do
6
- h = CommandLineArgsToHash.parse('--hello')
6
+ h = CommandLineArgsToHash.parse(['--hello'])
7
7
  h['hello'].should == true
8
8
  end
9
9
 
@@ -23,4 +23,4 @@ describe CommandLineArgsToHash do
23
23
  h['two'].should == 'three'
24
24
  end
25
25
 
26
- end
26
+ end
@@ -9,12 +9,12 @@ require 'scheduler_daemon/rails/generators/scheduler/templates/lib/scheduled_tas
9
9
  describe SessionCleanerTask do
10
10
  before(:each) do
11
11
  @task = SessionCleanerTask.new
12
- @task.stub!(:log)
12
+ @task.stub(:log)
13
13
  end
14
14
 
15
15
  it "should remove old sessions" do
16
16
  # this test only matters if we're using AR's session store.
17
- if defined?(ActionController) && defined?(ActiveRecord) &&
17
+ if defined?(ActionController) && defined?(ActiveRecord) &&
18
18
  ActionController::Base.session_store == ActiveRecord::SessionStore
19
19
 
20
20
  # insert old session
@@ -4,7 +4,7 @@ require 'scheduler_daemon/base'
4
4
  describe Scheduler::Base do
5
5
  before(:each) do
6
6
  @scheduler = Scheduler::Base.new(:skip_init => true, :silent => true)
7
- @scheduler.stub!(:log)
7
+ @scheduler.stub(:log)
8
8
  end
9
9
 
10
10
  describe 'decide_what_to_run' do
metadata CHANGED
@@ -1,176 +1,99 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scheduler_daemon
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
5
- prerelease:
4
+ version: 1.1.5
6
5
  platform: ruby
7
6
  authors:
8
7
  - Steven Soroka
9
- autorequire:
8
+ autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-03-07 00:00:00.000000000 Z
11
+ date: 2014-02-25 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: scheduler_daemon
14
+ name: activesupport
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: eventmachine
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ">="
36
32
  - !ruby/object:Gem::Version
37
33
  version: 0.12.8
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - ">="
44
39
  - !ruby/object:Gem::Version
45
40
  version: 0.12.8
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: daemons
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - ">="
52
46
  - !ruby/object:Gem::Version
53
47
  version: 1.0.10
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - ">="
60
53
  - !ruby/object:Gem::Version
61
54
  version: 1.0.10
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rufus-scheduler
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - "~>"
68
60
  - !ruby/object:Gem::Version
69
- version: 2.0.1
61
+ version: 2.0.24
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - "~>"
76
67
  - !ruby/object:Gem::Version
77
- version: 2.0.1
68
+ version: 2.0.24
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: chronic
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ! '>='
73
+ - - ">="
84
74
  - !ruby/object:Gem::Version
85
75
  version: 0.2.0
86
76
  type: :runtime
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ! '>='
80
+ - - ">="
92
81
  - !ruby/object:Gem::Version
93
82
  version: 0.2.0
94
83
  - !ruby/object:Gem::Dependency
95
- name: activesupport
96
- requirement: !ruby/object:Gem::Requirement
97
- none: false
98
- requirements:
99
- - - ! '>='
100
- - !ruby/object:Gem::Version
101
- version: '0'
102
- type: :runtime
103
- prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ! '>='
108
- - !ruby/object:Gem::Version
109
- version: '0'
110
- - !ruby/object:Gem::Dependency
111
- name: eventmachine
84
+ name: rspec
112
85
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
86
  requirements:
115
- - - ! '>='
87
+ - - "~>"
116
88
  - !ruby/object:Gem::Version
117
- version: 0.12.8
118
- type: :runtime
89
+ version: 2.13.0
90
+ type: :development
119
91
  prerelease: false
120
92
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
93
  requirements:
123
- - - ! '>='
94
+ - - "~>"
124
95
  - !ruby/object:Gem::Version
125
- version: 0.12.8
126
- - !ruby/object:Gem::Dependency
127
- name: daemons
128
- requirement: !ruby/object:Gem::Requirement
129
- none: false
130
- requirements:
131
- - - ! '>='
132
- - !ruby/object:Gem::Version
133
- version: 1.0.10
134
- type: :runtime
135
- prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
- requirements:
139
- - - ! '>='
140
- - !ruby/object:Gem::Version
141
- version: 1.0.10
142
- - !ruby/object:Gem::Dependency
143
- name: rufus-scheduler
144
- requirement: !ruby/object:Gem::Requirement
145
- none: false
146
- requirements:
147
- - - ! '>='
148
- - !ruby/object:Gem::Version
149
- version: 2.0.1
150
- type: :runtime
151
- prerelease: false
152
- version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
- requirements:
155
- - - ! '>='
156
- - !ruby/object:Gem::Version
157
- version: 2.0.1
158
- - !ruby/object:Gem::Dependency
159
- name: chronic
160
- requirement: !ruby/object:Gem::Requirement
161
- none: false
162
- requirements:
163
- - - ! '>='
164
- - !ruby/object:Gem::Version
165
- version: 0.2.0
166
- type: :runtime
167
- prerelease: false
168
- version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
- requirements:
171
- - - ! '>='
172
- - !ruby/object:Gem::Version
173
- version: 0.2.0
96
+ version: 2.13.0
174
97
  description: a Rails 2.3, Rails 3, and Ruby compatible scheduler daemon. Replaces
175
98
  cron/rake pattern of periodically running rake tasks to perform maintenance tasks,
176
99
  only loading the environment ONCE.
@@ -209,30 +132,28 @@ files:
209
132
  - spec/spec_helper.rb
210
133
  homepage: http://github.com/ssoroka/scheduler_daemon
211
134
  licenses: []
212
- post_install_message:
135
+ metadata: {}
136
+ post_install_message:
213
137
  rdoc_options: []
214
138
  require_paths:
215
139
  - lib
216
140
  required_ruby_version: !ruby/object:Gem::Requirement
217
- none: false
218
141
  requirements:
219
- - - ! '>='
142
+ - - ">="
220
143
  - !ruby/object:Gem::Version
221
144
  version: '0'
222
145
  required_rubygems_version: !ruby/object:Gem::Requirement
223
- none: false
224
146
  requirements:
225
- - - ! '>='
147
+ - - ">="
226
148
  - !ruby/object:Gem::Version
227
149
  version: '0'
228
150
  requirements: []
229
- rubyforge_project:
230
- rubygems_version: 1.8.23
231
- signing_key:
151
+ rubygems_version: 3.4.3
152
+ signing_key:
232
153
  specification_version: 3
233
154
  summary: Rails 3 compatible scheduler daemon. Replaces cron/rake pattern of periodically
234
- running rake tasks to perform maintenance tasks in Rails apps. Scheduler Daemon
235
- is made specifically for your Rails app, and only loads the environment once, no
155
+ running rake tasks to perform maintenance tasks in Rails apps. Scheduler Daemon
156
+ is made specifically for your Rails app, and only loads the environment once, no
236
157
  matter how many tasks run. What's so great about it? Well, I'm glad you asked! -
237
158
  Only loads your Rails environment once on daemon start, not every time a task is
238
159
  run - Allows you to easily deploy the scheduled tasks with your Rails app instead