simple_schedule 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +5 -5
  2. data/lib/simple_schedule.rb +17 -3
  3. metadata +2 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: a829cb04c176a60ac8d8d6b3d00cae46a607238c
4
- data.tar.gz: ca4786a1dff020ee1d9e6ebb2dc4e06f4f068b38
2
+ SHA256:
3
+ metadata.gz: 2a4f74029d912b9b27eb25042ff106a0ed882ab72d1e87455d658bf29cc49efe
4
+ data.tar.gz: b800d7130c38318f3a1b8cff8ab64eb31fedf178063cebd5f798a4ce76d93e04
5
5
  SHA512:
6
- metadata.gz: 04cde03706b07e7f78a3d31718e013dc3d71e2fd0e70d5beb30b5517e44c83685d57787167bac3c3da0dbbd62a08dbc2b8b691a0ff7aacc5823055eb3b676ef8
7
- data.tar.gz: 53f01238a7684c404741f6f08b6a538e733e53b3e67f09f5812b826b464a0b4ee9cc86152803aa85f0c09b0c63c1eae7cb7a7e278a24858f2c802ae07d96542d
6
+ metadata.gz: 7d2757b94406aa49d00a22319000fdd6dd33fb0286c88ee0824389b32dc52a4adaff38f01c9edb200cae904c223fbf9de125dc9ab33a5a539abe3c57c52ccaf6
7
+ data.tar.gz: '01605940c8c998520713e36d6a6b5ab70080d4e3424942ee62f45d5a545695c0104d74a33c2baed1f296189f6cdeb45daefb5900b914fdf9f54e291e45ff4ebe'
@@ -1,4 +1,5 @@
1
1
  require 'rufus-scheduler'
2
+ require 'logger'
2
3
 
3
4
  module SimpleSchedule
4
5
  def run
@@ -6,11 +7,20 @@ module SimpleSchedule
6
7
 
7
8
  jobs.each do |type, schedule, job|
8
9
  if job.respond_to?(:perform_later)
9
- scheduler.public_send(type, schedule) { job.perform_later }
10
+ scheduler.public_send(type, schedule) do
11
+ logger.info { "Enqueueing #{job} to be performed later" }
12
+ job.perform_later
13
+ end
10
14
  elsif job.respond_to?(:perform)
11
- scheduler.public_send(type, schedule) { job.perform }
15
+ scheduler.public_send(type, schedule) do
16
+ logger.info { "Performing #{job} synchronously" }
17
+ job.perform
18
+ end
12
19
  elsif job.instance_methods.include?(:perform)
13
- scheduler.public_send(type, schedule) { job.new.perform }
20
+ scheduler.public_send(type, schedule) do
21
+ logger.info { "Performing #{job} synchronously" }
22
+ job.new.perform
23
+ end
14
24
  else
15
25
  raise ArgumentError.new("Job #{job} does not respond to #{job}.perform_async, #{job}.perform, or #{job}#perform")
16
26
  end
@@ -24,6 +34,10 @@ module SimpleSchedule
24
34
 
25
35
  private
26
36
 
37
+ def logger
38
+ @logger ||= defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
39
+ end
40
+
27
41
  def jobs
28
42
  @jobs ||= []
29
43
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_schedule
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Riley
@@ -50,8 +50,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
50
50
  - !ruby/object:Gem::Version
51
51
  version: '0'
52
52
  requirements: []
53
- rubyforge_project:
54
- rubygems_version: 2.5.2.3
53
+ rubygems_version: 3.0.3
55
54
  signing_key:
56
55
  specification_version: 4
57
56
  summary: A simple scheduler for jobs