rocketjob 3.4.1 → 3.4.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: abb40a0f5b7abce954efc71891845f43088af58b
4
- data.tar.gz: 554a9d1df074fff449db727ce2bba2dcae8867b0
3
+ metadata.gz: 6c3d286a7897bd81bef71df484490bca1c38ef45
4
+ data.tar.gz: '09e9db2779c746cd3b96bb72bbe44e9ad1ad6a7f'
5
5
  SHA512:
6
- metadata.gz: 0ef4cff6fac8bb64b10b8b4be0a2c4b2e009510f964619423c8604ed78710a0712fe2a2cdf3e5a88450d233eaba74d999d6094f344f6ae53841abd223f1c622b
7
- data.tar.gz: 7fcb27f62e344fe38ca20fae4178e021baafa955644abf9420d8970a250d7c59a24c41e488201bc47b140d03aad03a8772618ae68df0cc22e8c8757be3ee4afb
6
+ metadata.gz: c3eba8f0b893631984477714946fa3a89062e6d71d6f122511d36354e5fa2b558d3591ee7716408356084aaebc4e43ff03a8dbeeb74b3dfaa789eb43ae4c8188
7
+ data.tar.gz: 711e258fc7d726247f3252e3aea9a3f75407c978bb4f378300faf66fff8e3a9098273dc6eb68084591f6035ed5de37e7a3ba7f1c809a40b9be1945cc2c67a2cd
@@ -159,7 +159,7 @@ module RocketJob
159
159
  def rocket_job_restart_abort
160
160
  return unless cron_schedule
161
161
  rocket_job_restart_new_instance
162
- self.cron_schedule = nil
162
+ update_attribute(:cron_schedule, nil)
163
163
  end
164
164
  end
165
165
 
@@ -1,3 +1,3 @@
1
1
  module RocketJob #:nodoc
2
- VERSION = '3.4.1'
2
+ VERSION = '3.4.2'
3
3
  end
@@ -11,10 +11,19 @@ module Plugins
11
11
  end
12
12
  end
13
13
 
14
+ class FailOnceCronJob < RocketJob::Job
15
+ include RocketJob::Plugins::Cron
16
+
17
+ def perform
18
+ raise 'oh no' if failure_count == 0
19
+ end
20
+ end
21
+
14
22
  describe RocketJob::Plugins::Cron do
15
23
  before do
16
24
  # destroy_all could create new instances
17
25
  CronJob.delete_all
26
+ FailOnceCronJob.delete_all
18
27
  assert_equal 0, CronJob.count
19
28
  end
20
29
 
@@ -91,9 +100,12 @@ module Plugins
91
100
  describe '#fail' do
92
101
  describe 'with cron_schedule' do
93
102
  let :job do
94
- job = CronJob.create!(cron_schedule: '* 1 * * *')
103
+ job = FailOnceCronJob.create!(cron_schedule: '* 1 * * *')
95
104
  job.start
96
- job.fail
105
+ assert_raises RuntimeError do
106
+ job.perform_now
107
+ end
108
+ job.reload
97
109
  job
98
110
  end
99
111
 
@@ -110,13 +122,21 @@ module Plugins
110
122
  end
111
123
 
112
124
  it 'schedules a new instance' do
113
- assert_equal 0, CronJob.count
125
+ assert_equal 0, FailOnceCronJob.count
114
126
  job
115
- assert_equal 2, CronJob.count
116
- assert scheduled_job = CronJob.last
127
+ assert_equal 2, FailOnceCronJob.count
128
+ assert scheduled_job = FailOnceCronJob.last
117
129
  assert scheduled_job.queued?
118
130
  assert_equal '* 1 * * *', scheduled_job.cron_schedule
119
131
  end
132
+
133
+ it 'restarts on retry' do
134
+ job.retry!
135
+ job.perform_now
136
+ assert job.completed?
137
+ assert_equal 1, FailOnceCronJob.count, -> { FailOnceCronJob.all.to_a.collect(&:state).to_s }
138
+ assert_equal 1, FailOnceCronJob.queued.count
139
+ end
120
140
  end
121
141
 
122
142
  describe 'without cron_schedule' do
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rocketjob
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.1
4
+ version: 3.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Reid Morrison
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-24 00:00:00.000000000 Z
11
+ date: 2017-08-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby