tasks_scheduler 0.2.3 → 0.5.0

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 (64) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +3 -1
  3. data/app/assets/stylesheets/tasks_scheduler.scss +4 -0
  4. data/app/controllers/scheduled_tasks_controller.rb +5 -4
  5. data/app/controllers/tasks_scheduler_daemon_controller.rb +8 -23
  6. data/app/controllers/tasks_scheduler_daemon_controller/_download_log.rb +42 -0
  7. data/app/helpers/scheduled_tasks_helper.rb +2 -0
  8. data/app/models/scheduled_task.rb +30 -15
  9. data/app/models/scheduled_task/checker.rb +20 -6
  10. data/app/models/scheduled_task/log.rb +8 -2
  11. data/app/models/scheduled_task/runner.rb +9 -5
  12. data/app/models/scheduled_task/status.rb +8 -4
  13. data/app/views/scheduled_tasks/status_content.html.erb +1 -0
  14. data/app/views/tasks_scheduler_daemon/_daemon.html.erb +11 -0
  15. data/app/views/tasks_scheduler_daemon/_logs.html.erb +12 -0
  16. data/app/views/tasks_scheduler_daemon/_results.html.erb +9 -0
  17. data/app/views/tasks_scheduler_daemon/_running_status.html.erb +0 -1
  18. data/app/views/tasks_scheduler_daemon/index.html.erb +3 -20
  19. data/config/initializers/assets.rb +3 -1
  20. data/config/routes.rb +4 -2
  21. data/db/migrate/20161122123828_create_scheduled_tasks.rb +5 -1
  22. data/db/migrate/20161123130153_add_status_attributes_to_scheduled_tasks.rb +5 -1
  23. data/db/migrate/20161124200712_add_pid_to_scheduled_tasks.rb +5 -1
  24. data/db/migrate/20161128163702_add_args_to_scheduled_tasks.rb +5 -1
  25. data/db/migrate/20180223155025_add_last_fail_status_to_scheduled_tasks.rb +5 -1
  26. data/db/migrate/20180302170138_add_enabled_to_scheduled_tasks.rb +5 -1
  27. data/exe/tasks_scheduler +3 -1
  28. data/exe/tasks_scheduler_run_task +3 -1
  29. data/lib/tasks_scheduler.rb +4 -8
  30. data/lib/tasks_scheduler/app_gem.rb +18 -0
  31. data/lib/tasks_scheduler/checker.rb +23 -4
  32. data/lib/tasks_scheduler/checker/log.rb +34 -0
  33. data/lib/tasks_scheduler/cron_parser_patch.rb +5 -1
  34. data/lib/tasks_scheduler/cron_scheduling_validator.rb +3 -0
  35. data/lib/tasks_scheduler/daemon.rb +20 -13
  36. data/lib/tasks_scheduler/engine.rb +5 -0
  37. data/lib/tasks_scheduler/version.rb +3 -1
  38. data/test/dummy/Rakefile +3 -1
  39. data/test/dummy/app/controllers/application_controller.rb +2 -0
  40. data/test/dummy/app/helpers/application_helper.rb +2 -0
  41. data/test/dummy/bin/bundle +3 -1
  42. data/test/dummy/bin/rails +3 -1
  43. data/test/dummy/bin/rake +2 -0
  44. data/test/dummy/bin/setup +3 -1
  45. data/test/dummy/config.ru +2 -0
  46. data/test/dummy/config/application.rb +3 -1
  47. data/test/dummy/config/boot.rb +4 -2
  48. data/test/dummy/config/environment.rb +3 -1
  49. data/test/dummy/config/environments/development.rb +2 -0
  50. data/test/dummy/config/environments/production.rb +2 -0
  51. data/test/dummy/config/environments/test.rb +2 -0
  52. data/test/dummy/config/initializers/assets.rb +2 -0
  53. data/test/dummy/config/initializers/backtrace_silencers.rb +1 -0
  54. data/test/dummy/config/initializers/cookies_serializer.rb +2 -0
  55. data/test/dummy/config/initializers/filter_parameter_logging.rb +2 -0
  56. data/test/dummy/config/initializers/inflections.rb +1 -0
  57. data/test/dummy/config/initializers/mime_types.rb +1 -0
  58. data/test/dummy/config/initializers/session_store.rb +2 -0
  59. data/test/dummy/config/initializers/wrap_parameters.rb +2 -0
  60. data/test/dummy/config/routes.rb +2 -0
  61. data/test/fixtures/scheduled_tasks.yml +2 -0
  62. data/test/models/scheduled_task_test.rb +6 -4
  63. data/test/test_helper.rb +6 -4
  64. metadata +91 -32
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # This file is used by Rack-based servers to start the application.
2
4
 
3
5
  require ::File.expand_path('../config/environment', __FILE__)
@@ -1,4 +1,6 @@
1
- require File.expand_path('../boot', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ require File.expand_path('boot', __dir__)
2
4
 
3
5
  require 'rails/all'
4
6
 
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Set up gems listed in the Gemfile.
2
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../../../Gemfile', __FILE__)
4
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../../Gemfile', __dir__)
3
5
 
4
6
  require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
5
- $LOAD_PATH.unshift File.expand_path('../../../../lib', __FILE__)
7
+ $LOAD_PATH.unshift File.expand_path('../../../lib', __dir__)
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Load the Rails application.
2
- require File.expand_path('../application', __FILE__)
4
+ require File.expand_path('application', __dir__)
3
5
 
4
6
  # Initialize the Rails application.
5
7
  Rails.application.initialize!
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  Rails.application.configure do
2
4
  # Settings specified here will take precedence over those in config/application.rb.
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  Rails.application.configure do
2
4
  # Settings specified here will take precedence over those in config/application.rb.
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  Rails.application.configure do
2
4
  # Settings specified here will take precedence over those in config/application.rb.
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Be sure to restart your server when you modify this file.
2
4
 
3
5
  # Version of your assets, change this if you want to expire all your assets.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Be sure to restart your server when you modify this file.
2
3
 
3
4
  # You can add backtrace silencers for libraries that you're using but don't wish to see in your
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Be sure to restart your server when you modify this file.
2
4
 
3
5
  Rails.application.config.action_dispatch.cookies_serializer = :json
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Be sure to restart your server when you modify this file.
2
4
 
3
5
  # Configure sensitive parameters which will be filtered from the log file.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Be sure to restart your server when you modify this file.
2
3
 
3
4
  # Add new inflection rules using the following format. Inflections
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Be sure to restart your server when you modify this file.
2
3
 
3
4
  # Add new mime types for use in respond_to blocks:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Be sure to restart your server when you modify this file.
2
4
 
3
5
  Rails.application.config.session_store :cookie_store, key: '_dummy_session'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Be sure to restart your server when you modify this file.
2
4
 
3
5
  # This file contains settings for ActionController::ParamsWrapper which
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  Rails.application.routes.draw do
2
4
  # The priority is based upon order of creation: first created -> highest priority.
3
5
  # See how all your routes lay out with "rake routes".
@@ -2,3 +2,5 @@ test_scheduling:
2
2
  scheduling: 0 0 * * *
3
3
  task: test
4
4
  next_run: 2016-11-22 09:38:28
5
+ created_at: 2016-11-20 00:00:00
6
+ updated_at: 2016-11-20 00:00:00
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class ScheduledTaskTest < ActiveSupport::TestCase
@@ -6,9 +8,9 @@ class ScheduledTaskTest < ActiveSupport::TestCase
6
8
  '*/5 * * * *' => Time.utc(2016, 12, 22, 12, 5, 0, 0),
7
9
  '* * 1 * *' => Time.utc(2017, 1, 1, 0, 0, 0, 0),
8
10
  '* * * * *' => Time.utc(2016, 12, 22, 12, 1, 0, 0)
9
- }
11
+ }.freeze
10
12
 
11
- SCHEDULING_INVALID_VALUES = [' ', nil, '1', 'abc123', 456]
13
+ SCHEDULING_INVALID_VALUES = [' ', nil, '1', 'abc123', 456].freeze
12
14
 
13
15
  setup do
14
16
  @scheduled_task = scheduled_tasks(:test_scheduling)
@@ -57,7 +59,7 @@ class ScheduledTaskTest < ActiveSupport::TestCase
57
59
  end
58
60
 
59
61
  test 'status 1' do
60
- @scheduled_task.update_attributes!(
62
+ @scheduled_task.update!(
61
63
  scheduling: '*/5 * * * *',
62
64
  next_run: 'Wed, 28 Feb 2018 15:35:00 UTC +00:00',
63
65
  created_at: 'Tue, 06 Dec 2016 20:30:01 UTC +00:00',
@@ -88,7 +90,7 @@ class ScheduledTaskTest < ActiveSupport::TestCase
88
90
  assert_equal ['abc'], @scheduled_task.send('invoke_args')
89
91
 
90
92
  @scheduled_task.args = 'abc|def|ghi'
91
- assert_equal %w(abc def ghi), @scheduled_task.send('invoke_args')
93
+ assert_equal %w[abc def ghi], @scheduled_task.send('invoke_args')
92
94
 
93
95
  @scheduled_task.args = 'abc||ghi'
94
96
  assert_equal ['abc', '', 'ghi'], @scheduled_task.send('invoke_args')
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Configure Rails Environment
2
4
  ENV['RAILS_ENV'] = 'test'
3
5
 
4
- require File.expand_path('../../test/dummy/config/environment.rb', __FILE__)
6
+ require File.expand_path('../test/dummy/config/environment.rb', __dir__)
5
7
  ActiveRecord::Migrator.migrations_paths = [
6
- File.expand_path('../../test/dummy/db/migrate', __FILE__)
8
+ File.expand_path('../test/dummy/db/migrate', __dir__)
7
9
  ]
8
10
  require 'rails/test_help'
9
11
 
@@ -12,11 +14,11 @@ require 'rails/test_help'
12
14
  Minitest.backtrace_filter = Minitest::BacktraceFilter.new
13
15
 
14
16
  # Load support files
15
- Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
17
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].sort.each { |f| require f }
16
18
 
17
19
  # Load fixtures from the engine
18
20
  if ActiveSupport::TestCase.respond_to?(:fixture_path=)
19
- ActiveSupport::TestCase.fixture_path = File.expand_path('../fixtures', __FILE__)
21
+ ActiveSupport::TestCase.fixture_path = File.expand_path('fixtures', __dir__)
20
22
  ActiveSupport::TestCase.fixtures :all
21
23
  end
22
24
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tasks_scheduler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eduardo H. Bogoni
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-07-02 00:00:00.000000000 Z
11
+ date: 2020-08-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_scaffold
@@ -38,6 +38,40 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: eac_ruby_gems_utils
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.4'
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: 0.4.1
51
+ type: :runtime
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - "~>"
56
+ - !ruby/object:Gem::Version
57
+ version: '0.4'
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 0.4.1
61
+ - !ruby/object:Gem::Dependency
62
+ name: eac_ruby_utils
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '0.43'
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '0.43'
41
75
  - !ruby/object:Gem::Dependency
42
76
  name: js-routes
43
77
  requirement: !ruby/object:Gem::Requirement
@@ -70,16 +104,36 @@ dependencies:
70
104
  name: rails
71
105
  requirement: !ruby/object:Gem::Requirement
72
106
  requirements:
73
- - - "~>"
107
+ - - ">="
74
108
  - !ruby/object:Gem::Version
75
- version: 4.2.1
109
+ version: 4.2.11.3
76
110
  type: :runtime
77
111
  prerelease: false
78
112
  version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: 4.2.11.3
117
+ - !ruby/object:Gem::Dependency
118
+ name: eac_ruby_gem_support
119
+ requirement: !ruby/object:Gem::Requirement
79
120
  requirements:
80
121
  - - "~>"
81
122
  - !ruby/object:Gem::Version
82
- version: 4.2.1
123
+ version: '0.1'
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ version: 0.1.1
127
+ type: :development
128
+ prerelease: false
129
+ version_requirements: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - "~>"
132
+ - !ruby/object:Gem::Version
133
+ version: '0.1'
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ version: 0.1.1
83
137
  - !ruby/object:Gem::Dependency
84
138
  name: sqlite3
85
139
  requirement: !ruby/object:Gem::Requirement
@@ -111,6 +165,7 @@ files:
111
165
  - app/assets/stylesheets/tasks_scheduler/alert.scss
112
166
  - app/controllers/scheduled_tasks_controller.rb
113
167
  - app/controllers/tasks_scheduler_daemon_controller.rb
168
+ - app/controllers/tasks_scheduler_daemon_controller/_download_log.rb
114
169
  - app/helpers/scheduled_tasks_helper.rb
115
170
  - app/models/scheduled_task.rb
116
171
  - app/models/scheduled_task/checker.rb
@@ -123,6 +178,9 @@ files:
123
178
  - app/views/scheduled_tasks/status_content.html.erb
124
179
  - app/views/tasks_scheduler/_alert.html.erb
125
180
  - app/views/tasks_scheduler/_navbar.html.erb
181
+ - app/views/tasks_scheduler_daemon/_daemon.html.erb
182
+ - app/views/tasks_scheduler_daemon/_logs.html.erb
183
+ - app/views/tasks_scheduler_daemon/_results.html.erb
126
184
  - app/views/tasks_scheduler_daemon/_running_status.html.erb
127
185
  - app/views/tasks_scheduler_daemon/index.html.erb
128
186
  - config/initializers/assets.rb
@@ -138,7 +196,9 @@ files:
138
196
  - exe/tasks_scheduler
139
197
  - exe/tasks_scheduler_run_task
140
198
  - lib/tasks_scheduler.rb
199
+ - lib/tasks_scheduler/app_gem.rb
141
200
  - lib/tasks_scheduler/checker.rb
201
+ - lib/tasks_scheduler/checker/log.rb
142
202
  - lib/tasks_scheduler/cron_parser_patch.rb
143
203
  - lib/tasks_scheduler/cron_scheduling_validator.rb
144
204
  - lib/tasks_scheduler/daemon.rb
@@ -182,7 +242,7 @@ files:
182
242
  - test/fixtures/scheduled_tasks.yml
183
243
  - test/models/scheduled_task_test.rb
184
244
  - test/test_helper.rb
185
- homepage:
245
+ homepage: https://github.com/esquilo-azul/tasks_scheduler
186
246
  licenses:
187
247
  - MIT
188
248
  metadata: {}
@@ -201,47 +261,46 @@ required_rubygems_version: !ruby/object:Gem::Requirement
201
261
  - !ruby/object:Gem::Version
202
262
  version: '0'
203
263
  requirements: []
204
- rubyforge_project:
205
- rubygems_version: 2.7.7
264
+ rubygems_version: 3.0.8
206
265
  signing_key:
207
266
  specification_version: 4
208
267
  summary: Scheduler for Rake tasks.
209
268
  test_files:
210
- - test/models/scheduled_task_test.rb
269
+ - test/dummy/Rakefile
270
+ - test/dummy/README.rdoc
271
+ - test/dummy/config.ru
272
+ - test/dummy/config/boot.rb
273
+ - test/dummy/config/database.yml
274
+ - test/dummy/config/secrets.yml
275
+ - test/dummy/config/locales/en.yml
276
+ - test/dummy/config/application.rb
277
+ - test/dummy/config/environments/development.rb
278
+ - test/dummy/config/environments/test.rb
279
+ - test/dummy/config/environments/production.rb
280
+ - test/dummy/config/environment.rb
211
281
  - test/dummy/config/routes.rb
212
282
  - test/dummy/config/initializers/assets.rb
213
283
  - test/dummy/config/initializers/cookies_serializer.rb
284
+ - test/dummy/config/initializers/inflections.rb
214
285
  - test/dummy/config/initializers/session_store.rb
215
- - test/dummy/config/initializers/backtrace_silencers.rb
216
286
  - test/dummy/config/initializers/wrap_parameters.rb
217
287
  - test/dummy/config/initializers/filter_parameter_logging.rb
218
- - test/dummy/config/initializers/inflections.rb
288
+ - test/dummy/config/initializers/backtrace_silencers.rb
219
289
  - test/dummy/config/initializers/mime_types.rb
220
- - test/dummy/config/database.yml
221
- - test/dummy/config/secrets.yml
222
- - test/dummy/config/locales/en.yml
223
- - test/dummy/config/environment.rb
224
- - test/dummy/config/boot.rb
225
- - test/dummy/config/application.rb
226
- - test/dummy/config/environments/production.rb
227
- - test/dummy/config/environments/test.rb
228
- - test/dummy/config/environments/development.rb
229
- - test/dummy/Rakefile
230
- - test/dummy/public/favicon.ico
231
- - test/dummy/public/404.html
232
- - test/dummy/public/500.html
233
- - test/dummy/public/422.html
234
- - test/dummy/config.ru
235
- - test/dummy/app/assets/stylesheets/application.css
236
- - test/dummy/app/assets/javascripts/application.js
237
- - test/dummy/app/helpers/application_helper.rb
290
+ - test/dummy/db/schema.rb
238
291
  - test/dummy/app/views/layouts/application.html.erb
239
292
  - test/dummy/app/controllers/application_controller.rb
240
- - test/dummy/bin/setup
293
+ - test/dummy/app/helpers/application_helper.rb
294
+ - test/dummy/app/assets/stylesheets/application.css
295
+ - test/dummy/app/assets/javascripts/application.js
296
+ - test/dummy/public/422.html
297
+ - test/dummy/public/404.html
298
+ - test/dummy/public/favicon.ico
299
+ - test/dummy/public/500.html
241
300
  - test/dummy/bin/bundle
301
+ - test/dummy/bin/setup
242
302
  - test/dummy/bin/rails
243
303
  - test/dummy/bin/rake
244
- - test/dummy/db/schema.rb
245
- - test/dummy/README.rdoc
246
304
  - test/test_helper.rb
247
305
  - test/fixtures/scheduled_tasks.yml
306
+ - test/models/scheduled_task_test.rb