sidekiq-cron 0.6.3 → 1.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +145 -0
  3. data/Gemfile +3 -29
  4. data/README.md +175 -121
  5. data/Rakefile +3 -42
  6. data/lib/sidekiq/cron/job.rb +273 -144
  7. data/lib/sidekiq/cron/launcher.rb +39 -43
  8. data/lib/sidekiq/cron/locales/de.yml +2 -2
  9. data/lib/sidekiq/cron/locales/en.yml +6 -2
  10. data/lib/sidekiq/cron/locales/it.yml +23 -0
  11. data/lib/sidekiq/cron/locales/ja.yml +18 -0
  12. data/lib/sidekiq/cron/locales/pt.yml +22 -0
  13. data/lib/sidekiq/cron/locales/ru.yml +2 -2
  14. data/lib/sidekiq/cron/locales/zh-CN.yml +19 -0
  15. data/lib/sidekiq/cron/poller.rb +22 -12
  16. data/lib/sidekiq/cron/schedule_loader.rb +22 -0
  17. data/lib/sidekiq/cron/support.rb +8 -1
  18. data/lib/sidekiq/cron/version.rb +7 -0
  19. data/lib/sidekiq/cron/views/cron.erb +38 -28
  20. data/lib/sidekiq/cron/views/cron_show.erb +88 -0
  21. data/lib/sidekiq/cron/web.rb +1 -7
  22. data/lib/sidekiq/cron/web_extension.rb +19 -15
  23. data/lib/sidekiq/cron.rb +1 -0
  24. data/lib/sidekiq/options.rb +25 -0
  25. data/sidekiq-cron.gemspec +23 -108
  26. data/test/integration/performance_test.rb +13 -19
  27. data/test/models/person.rb +21 -0
  28. data/test/test_helper.rb +37 -38
  29. data/test/unit/fixtures/schedule_array.yml +13 -0
  30. data/test/unit/fixtures/schedule_erb.yml +6 -0
  31. data/test/unit/fixtures/schedule_hash.yml +12 -0
  32. data/test/unit/fixtures/schedule_string.yml +1 -0
  33. data/test/unit/job_test.rb +450 -35
  34. data/test/unit/launcher_test.rb +33 -0
  35. data/test/unit/poller_test.rb +28 -37
  36. data/test/unit/schedule_loader_test.rb +58 -0
  37. data/test/unit/web_extension_test.rb +59 -41
  38. metadata +72 -191
  39. data/.document +0 -5
  40. data/.travis.yml +0 -19
  41. data/Changes.md +0 -50
  42. data/Dockerfile +0 -32
  43. data/VERSION +0 -1
  44. data/config.ru +0 -14
  45. data/docker-compose.yml +0 -21
  46. data/examples/web-cron-ui.png +0 -0
  47. data/lib/sidekiq/cron/views/cron.slim +0 -69
metadata CHANGED
@@ -1,282 +1,157 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq-cron
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.3
4
+ version: 1.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ondrej Bartas
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-20 00:00:00.000000000 Z
11
+ date: 2023-03-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: sidekiq
14
+ name: fugit
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 4.2.1
19
+ version: '1.8'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 4.2.1
26
+ version: '1.8'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rufus-scheduler
28
+ name: sidekiq
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 3.3.0
33
+ version: '6'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 3.3.0
41
- - !ruby/object:Gem::Dependency
42
- name: bundler
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
40
+ version: '6'
55
41
  - !ruby/object:Gem::Dependency
56
- name: simplecov
42
+ name: globalid
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
45
  - - ">="
60
46
  - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
47
+ version: 1.0.1
48
+ type: :runtime
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
52
  - - ">="
67
53
  - !ruby/object:Gem::Version
68
- version: '0'
54
+ version: 1.0.1
69
55
  - !ruby/object:Gem::Dependency
70
- name: redis-namespace
56
+ name: minitest
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
- - - ">="
59
+ - - "~>"
74
60
  - !ruby/object:Gem::Version
75
- version: 1.5.2
61
+ version: '5.15'
76
62
  type: :development
77
63
  prerelease: false
78
64
  version_requirements: !ruby/object:Gem::Requirement
79
65
  requirements:
80
- - - ">="
66
+ - - "~>"
81
67
  - !ruby/object:Gem::Version
82
- version: 1.5.2
68
+ version: '5.15'
83
69
  - !ruby/object:Gem::Dependency
84
- name: shoulda-context
70
+ name: mocha
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
- - - ">="
73
+ - - "~>"
88
74
  - !ruby/object:Gem::Version
89
- version: '0'
75
+ version: '1.14'
90
76
  type: :development
91
77
  prerelease: false
92
78
  version_requirements: !ruby/object:Gem::Requirement
93
79
  requirements:
94
- - - ">="
80
+ - - "~>"
95
81
  - !ruby/object:Gem::Version
96
- version: '0'
82
+ version: '1.14'
97
83
  - !ruby/object:Gem::Dependency
98
84
  name: rack
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
- - - ">="
87
+ - - "~>"
102
88
  - !ruby/object:Gem::Version
103
- version: '0'
89
+ version: '2.2'
104
90
  type: :development
105
91
  prerelease: false
106
92
  version_requirements: !ruby/object:Gem::Requirement
107
93
  requirements:
108
- - - ">="
94
+ - - "~>"
109
95
  - !ruby/object:Gem::Version
110
- version: '0'
96
+ version: '2.2'
111
97
  - !ruby/object:Gem::Dependency
112
98
  name: rack-test
113
99
  requirement: !ruby/object:Gem::Requirement
114
100
  requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: jeweler
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: minitest
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- version: '0'
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: '0'
153
- - !ruby/object:Gem::Dependency
154
- name: test-unit
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- version: '0'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - ">="
165
- - !ruby/object:Gem::Version
166
- version: '0'
167
- - !ruby/object:Gem::Dependency
168
- name: sdoc
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - ">="
172
- - !ruby/object:Gem::Version
173
- version: '0'
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - ">="
179
- - !ruby/object:Gem::Version
180
- version: '0'
181
- - !ruby/object:Gem::Dependency
182
- name: slim
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - ">="
101
+ - - "~>"
186
102
  - !ruby/object:Gem::Version
187
- version: '0'
103
+ version: '1.1'
188
104
  type: :development
189
105
  prerelease: false
190
106
  version_requirements: !ruby/object:Gem::Requirement
191
107
  requirements:
192
- - - ">="
108
+ - - "~>"
193
109
  - !ruby/object:Gem::Version
194
- version: '0'
110
+ version: '1.1'
195
111
  - !ruby/object:Gem::Dependency
196
- name: sinatra
112
+ name: rake
197
113
  requirement: !ruby/object:Gem::Requirement
198
114
  requirements:
199
- - - ">="
115
+ - - "~>"
200
116
  - !ruby/object:Gem::Version
201
- version: '0'
117
+ version: '13.0'
202
118
  type: :development
203
119
  prerelease: false
204
120
  version_requirements: !ruby/object:Gem::Requirement
205
121
  requirements:
206
- - - ">="
122
+ - - "~>"
207
123
  - !ruby/object:Gem::Version
208
- version: '0'
124
+ version: '13.0'
209
125
  - !ruby/object:Gem::Dependency
210
- name: mocha
211
- requirement: !ruby/object:Gem::Requirement
212
- requirements:
213
- - - ">="
214
- - !ruby/object:Gem::Version
215
- version: '0'
216
- type: :development
217
- prerelease: false
218
- version_requirements: !ruby/object:Gem::Requirement
219
- requirements:
220
- - - ">="
221
- - !ruby/object:Gem::Version
222
- version: '0'
223
- - !ruby/object:Gem::Dependency
224
- name: coveralls
225
- requirement: !ruby/object:Gem::Requirement
226
- requirements:
227
- - - ">="
228
- - !ruby/object:Gem::Version
229
- version: '0'
230
- type: :development
231
- prerelease: false
232
- version_requirements: !ruby/object:Gem::Requirement
233
- requirements:
234
- - - ">="
235
- - !ruby/object:Gem::Version
236
- version: '0'
237
- - !ruby/object:Gem::Dependency
238
- name: shotgun
239
- requirement: !ruby/object:Gem::Requirement
240
- requirements:
241
- - - ">="
242
- - !ruby/object:Gem::Version
243
- version: '0'
244
- type: :development
245
- prerelease: false
246
- version_requirements: !ruby/object:Gem::Requirement
247
- requirements:
248
- - - ">="
249
- - !ruby/object:Gem::Version
250
- version: '0'
251
- - !ruby/object:Gem::Dependency
252
- name: guard
126
+ name: simplecov
253
127
  requirement: !ruby/object:Gem::Requirement
254
128
  requirements:
255
- - - ">="
129
+ - - "~>"
256
130
  - !ruby/object:Gem::Version
257
- version: '0'
131
+ version: '0.21'
258
132
  type: :development
259
133
  prerelease: false
260
134
  version_requirements: !ruby/object:Gem::Requirement
261
135
  requirements:
262
- - - ">="
136
+ - - "~>"
263
137
  - !ruby/object:Gem::Version
264
- version: '0'
138
+ version: '0.21'
265
139
  - !ruby/object:Gem::Dependency
266
- name: guard-minitest
140
+ name: simplecov-cobertura
267
141
  requirement: !ruby/object:Gem::Requirement
268
142
  requirements:
269
- - - ">="
143
+ - - "~>"
270
144
  - !ruby/object:Gem::Version
271
- version: '0'
145
+ version: '2.1'
272
146
  type: :development
273
147
  prerelease: false
274
148
  version_requirements: !ruby/object:Gem::Requirement
275
149
  requirements:
276
- - - ">="
150
+ - - "~>"
277
151
  - !ruby/object:Gem::Version
278
- version: '0'
279
- description: Enables to set jobs to be run in specified time (using CRON notation)
152
+ version: '2.1'
153
+ description: Enables to set jobs to be run in specified time (using CRON notation
154
+ or natural language)
280
155
  email: ondrej@bartas.cz
281
156
  executables: []
282
157
  extensions: []
@@ -284,42 +159,49 @@ extra_rdoc_files:
284
159
  - LICENSE.txt
285
160
  - README.md
286
161
  files:
287
- - ".document"
288
- - ".travis.yml"
289
- - Changes.md
290
- - Dockerfile
162
+ - CHANGELOG.md
291
163
  - Gemfile
292
164
  - LICENSE.txt
293
165
  - README.md
294
166
  - Rakefile
295
- - VERSION
296
- - config.ru
297
- - docker-compose.yml
298
- - examples/web-cron-ui.png
299
167
  - lib/sidekiq-cron.rb
300
168
  - lib/sidekiq/cron.rb
301
169
  - lib/sidekiq/cron/job.rb
302
170
  - lib/sidekiq/cron/launcher.rb
303
171
  - lib/sidekiq/cron/locales/de.yml
304
172
  - lib/sidekiq/cron/locales/en.yml
173
+ - lib/sidekiq/cron/locales/it.yml
174
+ - lib/sidekiq/cron/locales/ja.yml
175
+ - lib/sidekiq/cron/locales/pt.yml
305
176
  - lib/sidekiq/cron/locales/ru.yml
177
+ - lib/sidekiq/cron/locales/zh-CN.yml
306
178
  - lib/sidekiq/cron/poller.rb
179
+ - lib/sidekiq/cron/schedule_loader.rb
307
180
  - lib/sidekiq/cron/support.rb
181
+ - lib/sidekiq/cron/version.rb
308
182
  - lib/sidekiq/cron/views/cron.erb
309
- - lib/sidekiq/cron/views/cron.slim
183
+ - lib/sidekiq/cron/views/cron_show.erb
310
184
  - lib/sidekiq/cron/web.rb
311
185
  - lib/sidekiq/cron/web_extension.rb
186
+ - lib/sidekiq/options.rb
312
187
  - sidekiq-cron.gemspec
313
188
  - test/integration/performance_test.rb
189
+ - test/models/person.rb
314
190
  - test/test_helper.rb
191
+ - test/unit/fixtures/schedule_array.yml
192
+ - test/unit/fixtures/schedule_erb.yml
193
+ - test/unit/fixtures/schedule_hash.yml
194
+ - test/unit/fixtures/schedule_string.yml
315
195
  - test/unit/job_test.rb
196
+ - test/unit/launcher_test.rb
316
197
  - test/unit/poller_test.rb
198
+ - test/unit/schedule_loader_test.rb
317
199
  - test/unit/web_extension_test.rb
318
- homepage: http://github.com/ondrejbartas/sidekiq-cron
200
+ homepage: https://github.com/sidekiq-cron/sidekiq-cron
319
201
  licenses:
320
202
  - MIT
321
203
  metadata: {}
322
- post_install_message:
204
+ post_install_message:
323
205
  rdoc_options: []
324
206
  require_paths:
325
207
  - lib
@@ -327,16 +209,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
327
209
  requirements:
328
210
  - - ">="
329
211
  - !ruby/object:Gem::Version
330
- version: '0'
212
+ version: '2.7'
331
213
  required_rubygems_version: !ruby/object:Gem::Requirement
332
214
  requirements:
333
215
  - - ">="
334
216
  - !ruby/object:Gem::Version
335
217
  version: '0'
336
218
  requirements: []
337
- rubyforge_project:
338
- rubygems_version: 2.5.1
339
- signing_key:
219
+ rubygems_version: 3.4.6
220
+ signing_key:
340
221
  specification_version: 4
341
- summary: Sidekiq Cron helps to add repeated scheduled jobs
222
+ summary: Scheduler/Cron for Sidekiq jobs
342
223
  test_files: []
data/.document DELETED
@@ -1,5 +0,0 @@
1
- lib/**/*.rb
2
- bin/*
3
- -
4
- features/**/*.feature
5
- LICENSE.txt
data/.travis.yml DELETED
@@ -1,19 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.3.1
4
- - 2.2.2
5
- services:
6
- - redis-server
7
- branches:
8
- only:
9
- - master
10
- notifications:
11
- email:
12
- recipients:
13
- - ondrej@bartas.cz
14
- env:
15
- travis: 'yes'
16
- matrix:
17
- allow_failures:
18
- - rvm: jruby-19mode
19
- - rvm: rbx-19mode
data/Changes.md DELETED
@@ -1,50 +0,0 @@
1
- v 0.6.0
2
- -------
3
-
4
- - set poller to check jobs every 30s by default (possible to override by `Sidekiq.options[:poll_interval] = 10`)
5
- - add group actions (enqueue, enable, disable, delete) all in web view
6
- - fix poller to enqueu all jobs in poll start time
7
- - add performance test for enqueue of jobs (10 000 jobs in less than 19s)
8
- - fix problem with default queue
9
- - remove redis-namespace from dependencies
10
- - update ruby versions in travis
11
-
12
- v 0.5.0
13
- -------
14
- - add docker support
15
- - all crons are now evaluated in UTC
16
- - fix rufus scheduler & timezones problems
17
- - add support for sidekiq 4.2.1
18
- - fix readme
19
- - add Russian locale
20
- - user Rack.env in tests
21
- - faster enque of jobs
22
- - permit to use ActiveJob::Base.queue_name_delimiter
23
- - fix problem with multiple times enque #84
24
- - fix problem with enque of unknown class
25
-
26
- v 0.4.0
27
- -------
28
-
29
- - enable to work with sidekiq >= 4.0.0
30
- - fix readme
31
-
32
- v 0.3.1
33
- -------
34
-
35
- - add CSRF tags to forms so it will work with sidekiq >= 3.4.2
36
- - remove tilt dependency
37
-
38
- v 0.3.0
39
- -------
40
-
41
- - suport for Active Job
42
- - sidekiq cron web ui needs to be loaded by: require 'sidekiq/cron/web'
43
- - add load_from_hash! and load_from_array! which cleanup jobs before adding new ones
44
-
45
- v 0.1.1
46
- -------
47
-
48
- - add Web fontend with enabled/disable job, unqueue now, delete job
49
- - add cron poller - enqueu cro jobs
50
- - add cron job - save all needed data to redis
data/Dockerfile DELETED
@@ -1,32 +0,0 @@
1
- FROM ruby:2.3.1
2
- MAINTAINER Joao Serra <joaopfserra@gmail.com>
3
-
4
- RUN apt-get update && \
5
- apt-get install -y --force-yes \
6
- curl \
7
- git \
8
- wget \
9
- libpq-dev && \
10
- apt-get autoremove -y --force-yes && \
11
- apt-get clean && \
12
- rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
13
-
14
- ENV DOCKERIZE_VERSION v0.2.0
15
- RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
16
- && tar -C /usr/local/bin -xzvf dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz
17
-
18
- RUN gem install bundler
19
-
20
- ENV APP_HOME /sidekiq-cron
21
- RUN mkdir $APP_HOME
22
- WORKDIR $APP_HOME
23
-
24
- ADD Gemfile* $APP_HOME/
25
-
26
- ENV BUNDLE_GEMFILE=$APP_HOME/Gemfile \
27
- BUNDLE_JOBS=2 \
28
- BUNDLE_PATH=/bundle
29
-
30
- RUN bundle install
31
-
32
- ADD . $APP_HOME
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.6.3
data/config.ru DELETED
@@ -1,14 +0,0 @@
1
- require 'sidekiq'
2
-
3
- Sidekiq.configure_client do |config|
4
- config.redis = { :size => 1 }
5
- end
6
-
7
- require 'sidekiq/web'
8
-
9
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), 'lib'))
10
- $LOAD_PATH.unshift(File.dirname(__FILE__))
11
-
12
- require 'sidekiq-cron'
13
-
14
- run Sidekiq::Web
data/docker-compose.yml DELETED
@@ -1,21 +0,0 @@
1
- version: '2'
2
- services:
3
- common:
4
- build:
5
- context: .
6
- image: sidekiq-cron-test
7
- environment: &environment
8
- - REDIS_URL=redis://redis.test:6379/0
9
- dns:
10
- - 8.8.8.8
11
- - 8.8.4.4
12
- redis:
13
- image: redis
14
- tests:
15
- image: sidekiq-cron-test
16
- environment: *environment
17
- links:
18
- - redis:redis.test
19
- depends_on:
20
- - common
21
- command: dockerize -wait tcp://redis.test:6379 -timeout 60s rake test
Binary file
@@ -1,69 +0,0 @@
1
- header.row
2
- .span.col-sm-5.pull-left
3
- h3 = t('CronJobs')
4
-
5
- .span.col-sm-7.pull-right style="margin-top: 20px; margin-bottom: 10px;"
6
- form.pull-right action="#{root_path}cron/__all__/delete" method="post"
7
- = csrf_tag if respond_to?(:csrf_tag)
8
- input.btn.btn-small.pull-left.btn-danger type="submit" name="enque" value="#{t('DeleteAll')}" data-confirm="#{t('AreYouSureDeleteCronJobs')}"
9
- form.pull-right action="#{root_path}cron/__all__/disable" method="post"
10
- = csrf_tag if respond_to?(:csrf_tag)
11
- input.btn.btn-small.pull-left type="submit" name="enque" value="#{t('DisableAll')}"
12
- form.pull-right action="#{root_path}cron/__all__/enable" method="post"
13
- = csrf_tag if respond_to?(:csrf_tag)
14
- input.btn.btn-small.pull-left type="submit" name="enque" value="#{t('EnableAll')}"
15
- form.pull-right action="#{root_path}cron/__all__/enque" method="post"
16
- = csrf_tag if respond_to?(:csrf_tag)
17
- input.btn.btn-small.pull-left type="submit" name="enque" value="#{t('EnqueueAll')}"
18
-
19
- - if @cron_jobs.size > 0
20
-
21
- table class="table table-hover table-bordered table-striped"
22
- thead
23
- th = t('Status')
24
- th = t('Name')
25
- th = t('Cron')
26
- th = t('Last enque')
27
- th width="180px"
28
- = t('Actions')
29
-
30
-
31
- - @cron_jobs.sort{|a,b| a.sort_name <=> b.sort_name }.each_with_index do |job, index|
32
- - style = "#{job.status == 'disabled' ? "background: #ecc": ""}"
33
- tr
34
- td[style="#{style}"]= job.status
35
- td[style="#{style}"]
36
- b job.name
37
- hr style="margin:3px;border:0;"
38
- small
39
- - if job.message and job.message.to_s.size > 100
40
- button data-toggle="collapse" data-target=".worker_#{index}" class="btn btn-mini" = t('ShowAll')
41
- .toggle[class="worker_#{index}" style="display: inline;"]= job.message[0..100] + "... "
42
- .toggle[class="worker_#{index}" style="display: none;"]= job.message
43
- - else
44
- = job.message
45
-
46
- td[style="#{style}"]
47
- b == job.cron.gsub(" ", "&nbsp;")
48
- td[style="#{style}"]== job.last_enqueue_time ? relative_time(job.last_enqueue_time) : "-"
49
- td[style="#{style}"]
50
- -if job.status == 'enabled'
51
- form action="#{root_path}cron/#{CGI.escape(job.name).gsub('+', '%20')}/enque" method="post"
52
- = csrf_tag if respond_to?(:csrf_tag)
53
- input.btn.btn-small.pull-left type="submit" name="enque" value="#{t('EnqueueNow')}"
54
- form action="#{root_path}cron/#{CGI.escape(job.name).gsub('+', '%20')}/disable" method="post"
55
- = csrf_tag if respond_to?(:csrf_tag)
56
- input.btn.btn-small.pull-left type="submit" name="disable" value="#{t('Disable')}"
57
- -else
58
- form action="#{root_path}cron/#{CGI.escape(job.name).gsub('+', '%20')}/enque" method="post"
59
- = csrf_tag if respond_to?(:csrf_tag)
60
- input.btn.btn-small.pull-left type="submit" name="enque" value="#{t('EnqueueNow')}"
61
- form action="#{root_path}cron/#{CGI.escape(job.name).gsub('+', '%20')}/enable" method="post"
62
- = csrf_tag if respond_to?(:csrf_tag)
63
- input.btn.btn-small.pull-left type="submit" name="enable" value="#{t('Enable')}"
64
- form action="#{root_path}cron/#{CGI.escape(job.name).gsub('+', '%20')}/delete" method="post"
65
- = csrf_tag if respond_to?(:csrf_tag)
66
- input.btn.btn-danger.btn-small type="submit" name="delete" value="#{t('Delete')}" data-confirm="#{t('AreYouSureDeleteCronJob', :job => job.name)}"
67
-
68
- - else
69
- .alert.alert-success = t('NoCronJobsFound')