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.
- checksums.yaml +5 -5
- data/lib/simple_schedule.rb +17 -3
- metadata +2 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 2a4f74029d912b9b27eb25042ff106a0ed882ab72d1e87455d658bf29cc49efe
|
4
|
+
data.tar.gz: b800d7130c38318f3a1b8cff8ab64eb31fedf178063cebd5f798a4ce76d93e04
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7d2757b94406aa49d00a22319000fdd6dd33fb0286c88ee0824389b32dc52a4adaff38f01c9edb200cae904c223fbf9de125dc9ab33a5a539abe3c57c52ccaf6
|
7
|
+
data.tar.gz: '01605940c8c998520713e36d6a6b5ab70080d4e3424942ee62f45d5a545695c0104d74a33c2baed1f296189f6cdeb45daefb5900b914fdf9f54e291e45ff4ebe'
|
data/lib/simple_schedule.rb
CHANGED
@@ -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)
|
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)
|
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)
|
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.
|
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
|
-
|
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
|