simple_schedule 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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