resque-job_history 0.0.15 → 0.0.20

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 450d20fe90b22ac7771dae6ac8a400c173fe25ed308fd1333f2b4af4f1486e96
4
- data.tar.gz: 24764a0569618115e274bf6c7e57ced5c2eafad2c572e9f55e36521ce5509a99
3
+ metadata.gz: 74efd65b38f6d08e25d24bce58b4fafa97e3136df8c0cef2b10177af4f85f17d
4
+ data.tar.gz: 96e82ad40c7bd5d0371e6dc975296235e04a2e71eec4cb0646bd1f876f7cc24d
5
5
  SHA512:
6
- metadata.gz: c2793e58b7f27ab79717d5faf1eb198734c41881194430646997a8cdaaab2c66d3e7bfce2f41fd52515f4d8884515610ba12fa31d6c66791e6e9c5adf8b6be7b
7
- data.tar.gz: 4aa8ce5bde5fa6aaf544a452bedae95b4a2d521bc4fdf253770b9cbcbb72d416023ae35ec02a631742e5d3a3b16f9ad602bc39cdb476ae982cf01d5d7442679e
6
+ metadata.gz: 82be65f4e0c8e1dbe91b237b135f1cd375c22240849cc16a549cde3481681106a126988af8c4674c6c834efa139ca48193ab0240603a1eb89a84f4d66965aaaa
7
+ data.tar.gz: 2de10d9d4f626e8d1ae32e1a3d4f589290badcf71979c846d353ab4b4eac7ecc183d8ebf0c97e750f85e15b95185c876f92738487aa22d3e46bd328435eedae4
@@ -41,7 +41,7 @@ module Resque
41
41
  job_history_params(base)
42
42
 
43
43
  base.class_eval do
44
- get "/job%20history" do
44
+ get "/job history" do
45
45
  set_job_history_params
46
46
 
47
47
  erb File.read(Resque::JobHistoryServer.erb_path("job_history.erb"))
@@ -67,7 +67,7 @@ module Resque
67
67
  finished_page_params(base)
68
68
 
69
69
  base.class_eval do
70
- get "/job%20history/job_class_details" do
70
+ get "/job history/job_class_details" do
71
71
  set_class_details_params
72
72
 
73
73
  erb File.read(Resque::JobHistoryServer.erb_path("job_class_details.erb"))
@@ -107,7 +107,7 @@ module Resque
107
107
 
108
108
  def job_details(base)
109
109
  base.class_eval do
110
- get "/job%20history/job_details" do
110
+ get "/job history/job_details" do
111
111
  @job_class_name = params[:class_name]
112
112
  @job_id = params[:job_id]
113
113
 
@@ -118,7 +118,7 @@ module Resque
118
118
 
119
119
  def linear_list(base)
120
120
  base.class_eval do
121
- get "/job%20history/linear_history" do
121
+ get "/job history/linear_history" do
122
122
  @page_num = (params[:page_num] || 1).to_i
123
123
  @page_size = (params[:page_size] ||
124
124
  Resque::Plugins::JobHistory::HistoryDetails.linear_page_size).to_i
@@ -130,7 +130,7 @@ module Resque
130
130
 
131
131
  def add_static_files(base)
132
132
  base.class_eval do
133
- get %r{job_history/public/([a-z_]+\.[a-z]+)} do
133
+ get %r{/job_history/public/([a-z_]+\.[a-z]+)} do
134
134
  send_file Resque::JobHistoryServer.public_path(params[:captures].first)
135
135
  end
136
136
  end
@@ -150,7 +150,7 @@ module Resque
150
150
 
151
151
  def cancel_job(base)
152
152
  base.class_eval do
153
- post "/job%20history/cancel_job" do
153
+ post "/job history/cancel_job" do
154
154
  Resque::Plugins::JobHistory::Job.new(params[:class_name], params[:job_id]).cancel
155
155
 
156
156
  redirect u("job history/job_details?#{{ class_name: params[:class_name],
@@ -161,7 +161,7 @@ module Resque
161
161
 
162
162
  def delete_job(base)
163
163
  base.class_eval do
164
- post "/job%20history/delete_job" do
164
+ post "/job history/delete_job" do
165
165
  Resque::Plugins::JobHistory::Job.new(params[:class_name], params[:job_id]).purge
166
166
 
167
167
  redirect u("job history/job_class_details?#{{ class_name: params[:class_name] }.to_param}")
@@ -171,7 +171,7 @@ module Resque
171
171
 
172
172
  def retry_job(base)
173
173
  base.class_eval do
174
- post "/job%20history/retry_job" do
174
+ post "/job history/retry_job" do
175
175
  Resque::Plugins::JobHistory::Job.new(params[:class_name], params[:job_id]).retry
176
176
 
177
177
  redirect u("job history/job_class_details?#{{ class_name: params[:class_name] }.to_param}")
@@ -181,7 +181,7 @@ module Resque
181
181
 
182
182
  def purge_class(base)
183
183
  base.class_eval do
184
- post "/job%20history/purge_class" do
184
+ post "/job history/purge_class" do
185
185
  Resque::Plugins::JobHistory::Cleaner.purge_class(params[:class_name])
186
186
 
187
187
  redirect u("job history")
@@ -191,7 +191,7 @@ module Resque
191
191
 
192
192
  def purge_all(base)
193
193
  base.class_eval do
194
- post "/job%20history/purge_all" do
194
+ post "/job history/purge_all" do
195
195
  Resque::Plugins::JobHistory::Cleaner.purge_all_jobs
196
196
 
197
197
  redirect u("job history")
@@ -201,7 +201,7 @@ module Resque
201
201
 
202
202
  def purge_linear_history(base)
203
203
  base.class_eval do
204
- post "/job%20history/purge_linear_history" do
204
+ post "/job history/purge_linear_history" do
205
205
  Resque::Plugins::JobHistory::Cleaner.purge_linear_history
206
206
 
207
207
  redirect u("job history")
@@ -211,7 +211,7 @@ module Resque
211
211
 
212
212
  def search_all(base)
213
213
  base.class_eval do
214
- post "/job%20history/search_all" do
214
+ post "/job history/search_all" do
215
215
  @job_search = Resque::Plugins::JobHistory::JobSearch.new(params)
216
216
 
217
217
  @job_search.search
@@ -223,7 +223,7 @@ module Resque
223
223
 
224
224
  def search_job(base)
225
225
  base.class_eval do
226
- post "/job%20history/search_job" do
226
+ post "/job history/search_job" do
227
227
  @job_search = Resque::Plugins::JobHistory::JobSearch.new(params)
228
228
 
229
229
  @job_search.search
@@ -235,7 +235,7 @@ module Resque
235
235
 
236
236
  def search_linear_history(base)
237
237
  base.class_eval do
238
- post "/job%20history/search_linear_history" do
238
+ post "/job history/search_linear_history" do
239
239
  @job_search = Resque::Plugins::JobHistory::JobSearch.new(params)
240
240
 
241
241
  @job_search.search
@@ -10,7 +10,7 @@ module Resque
10
10
  module JobHistory
11
11
  extend ActiveSupport::Concern
12
12
 
13
- # Redis mapp:
13
+ # Redis map:
14
14
  # job_history - a set of all of the class names of all jobs
15
15
  # job_history..linear_jobs - a list of the IDs for all jobs that have run in the order
16
16
  # they were started.
@@ -51,8 +51,7 @@ module Resque
51
51
  end
52
52
 
53
53
  def around_perform_job_history(*args)
54
- running_job = Resque::Plugins::JobHistory::Job.new(active_job_class_name(*args),
55
- SecureRandom.uuid)
54
+ running_job = Resque::Plugins::JobHistory::Job.new(active_job_class_name(*args), SecureRandom.uuid)
56
55
  self.most_recent_job = running_job
57
56
 
58
57
  begin
@@ -48,6 +48,8 @@ module Resque
48
48
  purge_class class_name
49
49
  end
50
50
 
51
+ purge_linear_history
52
+
51
53
  del_key(Resque::Plugins::JobHistory::HistoryDetails.job_history_key, "Purging job_history_key")
52
54
 
53
55
  redis.keys("*").each do |key|
@@ -68,8 +68,7 @@ module Resque
68
68
  end
69
69
 
70
70
  def linear_jobs
71
- @linear_list ||= HistoryList.new("", "linear",
72
- Resque::Plugins::JobHistory::HistoryDetails.max_linear_jobs)
71
+ @linear_list ||= HistoryList.new("", "linear", Resque::Plugins::JobHistory::HistoryDetails.max_linear_jobs)
73
72
  end
74
73
 
75
74
  def max_concurrent_jobs
@@ -111,7 +110,6 @@ module Resque
111
110
  job_start = job.start_time
112
111
 
113
112
  if job_start.blank? || job_start.to_time < too_old_time
114
- job.start(*job.args) if job_start.blank?
115
113
  job.cancel
116
114
  end
117
115
  end
@@ -86,11 +86,13 @@ module Resque
86
86
  end
87
87
 
88
88
  def delete_old_jobs(job_count)
89
- while job_count > max_jobs
90
- job_id = redis.rpop(job_list_key)
89
+ while num_jobs > max_jobs
90
+ job_id = redis.rpop(job_list_key)
91
+ job_class_name = job_class(job_id)
92
+
91
93
  remove_job_data(job_id)
92
94
 
93
- Resque::Plugins::JobHistory::Job.new(job_class(job_id), job_id).safe_purge
95
+ Resque::Plugins::JobHistory::Job.new(job_class_name, job_id).safe_purge
94
96
 
95
97
  job_count -= 1
96
98
  end
@@ -44,15 +44,24 @@ module Resque
44
44
  decode_args(stored_values[:args])
45
45
  end
46
46
 
47
+ def uncompressed_args
48
+ return args if described_class.blank?
49
+ return args unless described_class.singleton_class.included_modules.map(&:name).include?("Resque::Plugins::Compressible")
50
+ return args unless described_class.compressed?(args)
51
+
52
+ described_class.uncompressed_args(args.first[:payload] || args.first["payload"])
53
+ end
54
+
47
55
  def error
48
56
  stored_values[:error]
49
57
  end
50
58
 
51
59
  def start(*args)
60
+ record_job_start(*args)
61
+
52
62
  num_jobs = running_jobs.add_job(job_id, class_name)
53
63
  linear_jobs.add_job(job_id, class_name) unless class_exclude_from_linear_history
54
64
 
55
- record_job_start(*args)
56
65
  record_num_jobs(num_jobs)
57
66
 
58
67
  self
@@ -135,11 +144,7 @@ module Resque
135
144
  end
136
145
 
137
146
  def stored_values
138
- unless @stored_values
139
- @stored_values = redis.hgetall(job_key).with_indifferent_access
140
- end
141
-
142
- @stored_values
147
+ @stored_values ||= redis.hgetall(job_key).with_indifferent_access
143
148
  end
144
149
 
145
150
  def encode_args(*args)
@@ -39,7 +39,7 @@
39
39
  <% end %>
40
40
  </td>
41
41
  <td>
42
- <pre><code><%= "".html_safe + job_details.args.to_yaml %></code></pre>
42
+ <pre><code><%= "".html_safe + job_details.uncompressed_args.to_yaml %></code></pre>
43
43
  </td>
44
44
  <td>
45
45
  <%= job_details.error %>
@@ -26,7 +26,7 @@
26
26
  <td>
27
27
  <% if class_info.last_run %>
28
28
  <% if class_info.last_run.finished? %>
29
- <%= distance_of_time_in_words(class_info.last_run.start_time, class_info.last_run.end_time) %>
29
+ <%= distance_of_time_in_words((class_info.last_run.start_time || Time.now), (class_info.last_run.end_time || Time.now)) %>
30
30
  (<%= class_info.last_run.end_time %>)
31
31
  <% else %>
32
32
  Still running...
@@ -49,7 +49,7 @@
49
49
  Params
50
50
  </td>
51
51
  <td>
52
- <pre><code><%= "".html_safe + job_details.args.to_yaml %></code></pre>
52
+ <pre><code><%= "".html_safe + job_details.uncompressed_args.to_yaml %></code></pre>
53
53
  </td>
54
54
  </tr>
55
55
  <% unless job_details.succeeded? %>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: resque-job_history
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.15
4
+ version: 0.0.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - RealNobody
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-05-17 00:00:00.000000000 Z
11
+ date: 2020-10-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: resque
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: sinatra
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 2.0.7
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 2.0.7
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: redis-namespace
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -95,21 +109,21 @@ dependencies:
95
109
  - !ruby/object:Gem::Version
96
110
  version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
- name: sinatra
112
+ name: cornucopia
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
- - - "~>"
115
+ - - ">="
102
116
  - !ruby/object:Gem::Version
103
- version: '1.4'
117
+ version: '0'
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
- - - "~>"
122
+ - - ">="
109
123
  - !ruby/object:Gem::Version
110
- version: '1.4'
124
+ version: '0'
111
125
  - !ruby/object:Gem::Dependency
112
- name: rspec-rails
126
+ name: faker
113
127
  requirement: !ruby/object:Gem::Requirement
114
128
  requirements:
115
129
  - - ">="
@@ -137,7 +151,7 @@ dependencies:
137
151
  - !ruby/object:Gem::Version
138
152
  version: '0'
139
153
  - !ruby/object:Gem::Dependency
140
- name: simplecov
154
+ name: haml-lint
141
155
  requirement: !ruby/object:Gem::Requirement
142
156
  requirements:
143
157
  - - ">="
@@ -151,7 +165,7 @@ dependencies:
151
165
  - !ruby/object:Gem::Version
152
166
  version: '0'
153
167
  - !ruby/object:Gem::Dependency
154
- name: cornucopia
168
+ name: rack-test
155
169
  requirement: !ruby/object:Gem::Requirement
156
170
  requirements:
157
171
  - - ">="
@@ -165,7 +179,7 @@ dependencies:
165
179
  - !ruby/object:Gem::Version
166
180
  version: '0'
167
181
  - !ruby/object:Gem::Dependency
168
- name: rubocop
182
+ name: resque-compressible
169
183
  requirement: !ruby/object:Gem::Requirement
170
184
  requirements:
171
185
  - - ">="
@@ -179,21 +193,21 @@ dependencies:
179
193
  - !ruby/object:Gem::Version
180
194
  version: '0'
181
195
  - !ruby/object:Gem::Dependency
182
- name: haml-lint
196
+ name: rspec-rails
183
197
  requirement: !ruby/object:Gem::Requirement
184
198
  requirements:
185
199
  - - ">="
186
200
  - !ruby/object:Gem::Version
187
- version: '0'
201
+ version: 3.6.0
188
202
  type: :development
189
203
  prerelease: false
190
204
  version_requirements: !ruby/object:Gem::Requirement
191
205
  requirements:
192
206
  - - ">="
193
207
  - !ruby/object:Gem::Version
194
- version: '0'
208
+ version: 3.6.0
195
209
  - !ruby/object:Gem::Dependency
196
- name: timecop
210
+ name: rubocop
197
211
  requirement: !ruby/object:Gem::Requirement
198
212
  requirements:
199
213
  - - ">="
@@ -207,7 +221,7 @@ dependencies:
207
221
  - !ruby/object:Gem::Version
208
222
  version: '0'
209
223
  - !ruby/object:Gem::Dependency
210
- name: faker
224
+ name: simplecov
211
225
  requirement: !ruby/object:Gem::Requirement
212
226
  requirements:
213
227
  - - ">="
@@ -221,7 +235,7 @@ dependencies:
221
235
  - !ruby/object:Gem::Version
222
236
  version: '0'
223
237
  - !ruby/object:Gem::Dependency
224
- name: rack-test
238
+ name: timecop
225
239
  requirement: !ruby/object:Gem::Requirement
226
240
  requirements:
227
241
  - - ">="
@@ -266,7 +280,7 @@ files:
266
280
  - lib/resque/server/views/linear_history.erb
267
281
  - lib/resque/server/views/search_results.erb
268
282
  - lib/tasks/resque-job_history_tasks.rake
269
- homepage: https://github.com/RealNobody
283
+ homepage: https://github.com/RealNobody/resque-job_history
270
284
  licenses:
271
285
  - MIT
272
286
  metadata: {}
@@ -285,8 +299,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
285
299
  - !ruby/object:Gem::Version
286
300
  version: '0'
287
301
  requirements: []
288
- rubyforge_project:
289
- rubygems_version: 2.7.6
302
+ rubygems_version: 3.0.3
290
303
  signing_key:
291
304
  specification_version: 4
292
305
  summary: Keeps a history of run jobs by job.