tasks_scheduler 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/app/assets/javascripts/{tasks_scheduler.js → tasks_scheduler.js.erb} +19 -9
- data/app/assets/stylesheets/tasks_scheduler.scss +1 -0
- data/app/assets/stylesheets/tasks_scheduler/alert.scss +46 -0
- data/app/controllers/tasks_scheduler_daemon_controller.rb +3 -2
- data/app/models/scheduled_task/status.rb +4 -0
- data/app/views/tasks_scheduler/_alert.html.erb +4 -0
- data/config/routes.rb +2 -2
- data/lib/tasks_scheduler/version.rb +1 -1
- metadata +32 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: fdf51773f53357b26a3b5442f32351d5365829cdb2c30c5e7579029b62c9e0b8
|
4
|
+
data.tar.gz: eb003ff171837d987d9a1a316914126915d6dc84d2b8082748b7998feb219333
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d3a26e6ee7df33383594e9ea0fc117c11e176d9a0e71b8a4a465f57d96a0e498238313906d48c4985e3a269441840bbd496b96894ecd1b9058544a67c55c10cb
|
7
|
+
data.tar.gz: da6715ac5a6c44923c3688a3c8e4561c434a969402ff80be05b4143c758e6d4aaafab1a778b394c61d2c1758bd1c4832f697110cd0cb0766fda3a70d291348d5
|
@@ -63,14 +63,14 @@ TasksScheduler.Alert = function () {
|
|
63
63
|
|
64
64
|
_A = TasksScheduler.Alert;
|
65
65
|
|
66
|
-
_A.DEFAULT_REFRESH_INTERVAL =
|
66
|
+
_A.DEFAULT_REFRESH_INTERVAL = 5000;
|
67
67
|
_A.DEFAULT_ELEMENT_SELECTOR = '#tasks_scheduler_alert';
|
68
|
-
_A.
|
68
|
+
_A.CSS_CLASSES_PREFIX = 'alert_';
|
69
|
+
_A.url = '<%= ::Rails.application.class.routes.url_helpers.status_tasks_scheduler_daemon_path %>';
|
69
70
|
|
70
|
-
_A.init = function (
|
71
|
+
_A.init = function (options) {
|
71
72
|
options = typeof options !== 'undefined' ? options : {};
|
72
73
|
$(document).ready(function () {
|
73
|
-
_A.url = url;
|
74
74
|
_A.options = options;
|
75
75
|
if (!_A.options.refresh_interval) {
|
76
76
|
_A.options.refresh_interval = _A.DEFAULT_REFRESH_INTERVAL;
|
@@ -91,14 +91,24 @@ _A.refresh = function () {
|
|
91
91
|
url: _A.url,
|
92
92
|
success: function (result) {
|
93
93
|
var alert = $(_A.options.element_selector);
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
94
|
+
var pattern = new RegExp('(^|\\s)' + _A.CSS_CLASSES_PREFIX + "\\S+", 'g');
|
95
|
+
alert.removeClass (function (index, className) {
|
96
|
+
return (className.match (pattern) || []).join(' ');
|
97
|
+
});
|
98
|
+
alert.addClass(_A.resultToCssClass(result));
|
99
99
|
},
|
100
100
|
complete: function (result) {
|
101
101
|
_A.setNextRefresh();
|
102
102
|
}
|
103
103
|
});
|
104
104
|
};
|
105
|
+
|
106
|
+
_A.resultToCssClass = function(result) {
|
107
|
+
var suffix = "ok"
|
108
|
+
if (!result.daemon_running) {
|
109
|
+
suffix = "daemon_stopped";
|
110
|
+
} else if (!result.tasks_all_ok) {
|
111
|
+
suffix = "task_failed";
|
112
|
+
}
|
113
|
+
return _A.CSS_CLASSES_PREFIX + suffix;
|
114
|
+
};
|
@@ -0,0 +1,46 @@
|
|
1
|
+
.tasks_scheduler_alert_link {
|
2
|
+
font-weight: bold;
|
3
|
+
content: '!';
|
4
|
+
&::after {
|
5
|
+
content: '!';
|
6
|
+
}
|
7
|
+
}
|
8
|
+
|
9
|
+
#tasks_scheduler_alert {
|
10
|
+
.daemon_alert {
|
11
|
+
@extend .tasks_scheduler_alert_link;
|
12
|
+
color: red !important;
|
13
|
+
}
|
14
|
+
|
15
|
+
.task_alert {
|
16
|
+
@extend .tasks_scheduler_alert_link;
|
17
|
+
color: yellow !important;
|
18
|
+
}
|
19
|
+
|
20
|
+
&, &.alert_ok {
|
21
|
+
.daemon_alert {
|
22
|
+
display: none;
|
23
|
+
}
|
24
|
+
.task_alert {
|
25
|
+
display: none;
|
26
|
+
}
|
27
|
+
}
|
28
|
+
|
29
|
+
&.alert_daemon_stopped {
|
30
|
+
.daemon_alert {
|
31
|
+
display: inline;
|
32
|
+
}
|
33
|
+
.task_alert {
|
34
|
+
display: none;
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
&.alert_task_failed {
|
39
|
+
.daemon_alert {
|
40
|
+
display: none;
|
41
|
+
}
|
42
|
+
.task_alert {
|
43
|
+
display: inline;
|
44
|
+
}
|
45
|
+
}
|
46
|
+
}
|
@@ -7,8 +7,9 @@ class TasksSchedulerDaemonController < ApplicationController
|
|
7
7
|
render 'index'
|
8
8
|
end
|
9
9
|
|
10
|
-
def
|
11
|
-
render
|
10
|
+
def status
|
11
|
+
render json: { daemon_running: ::TasksScheduler::Daemon.running?,
|
12
|
+
tasks_all_ok: !::ScheduledTask.all.any?(&:failed?) }
|
12
13
|
end
|
13
14
|
|
14
15
|
def download_log
|
data/config/routes.rb
CHANGED
@@ -13,8 +13,8 @@ Rails.application.routes.draw do
|
|
13
13
|
get '/tasks_scheduler_daemon', to: 'tasks_scheduler_daemon#index', as: :tasks_scheduler_daemon
|
14
14
|
post '/tasks_scheduler_daemon/:tasks_scheduler_execute_action',
|
15
15
|
to: 'tasks_scheduler_daemon#execute', as: :execute_tasks_scheduler_daemon
|
16
|
-
get '/tasks_scheduler_daemon/
|
17
|
-
|
16
|
+
get '/tasks_scheduler_daemon/status', to: 'tasks_scheduler_daemon#status',
|
17
|
+
as: :status_tasks_scheduler_daemon
|
18
18
|
get '/tasks_scheduler_daemon/download_log', to: 'tasks_scheduler_daemon#download_log',
|
19
19
|
as: :download_log_tasks_scheduler_daemon
|
20
20
|
end
|
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.
|
4
|
+
version: 0.2.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: 2018-
|
11
|
+
date: 2018-07-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: active_scaffold
|
@@ -92,8 +92,9 @@ files:
|
|
92
92
|
- MIT-LICENSE
|
93
93
|
- README.rdoc
|
94
94
|
- Rakefile
|
95
|
-
- app/assets/javascripts/tasks_scheduler.js
|
95
|
+
- app/assets/javascripts/tasks_scheduler.js.erb
|
96
96
|
- app/assets/stylesheets/tasks_scheduler.scss
|
97
|
+
- app/assets/stylesheets/tasks_scheduler/alert.scss
|
97
98
|
- app/controllers/scheduled_tasks_controller.rb
|
98
99
|
- app/controllers/tasks_scheduler_daemon_controller.rb
|
99
100
|
- app/helpers/scheduled_tasks_helper.rb
|
@@ -106,6 +107,7 @@ files:
|
|
106
107
|
- app/views/scheduled_tasks/log.html.erb
|
107
108
|
- app/views/scheduled_tasks/status.html.erb
|
108
109
|
- app/views/scheduled_tasks/status_content.html.erb
|
110
|
+
- app/views/tasks_scheduler/_alert.html.erb
|
109
111
|
- app/views/tasks_scheduler/_navbar.html.erb
|
110
112
|
- app/views/tasks_scheduler_daemon/_running_status.html.erb
|
111
113
|
- app/views/tasks_scheduler_daemon/index.html.erb
|
@@ -186,46 +188,46 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
186
188
|
version: '0'
|
187
189
|
requirements: []
|
188
190
|
rubyforge_project:
|
189
|
-
rubygems_version: 2.
|
191
|
+
rubygems_version: 2.7.7
|
190
192
|
signing_key:
|
191
193
|
specification_version: 4
|
192
194
|
summary: Scheduler for Rake tasks.
|
193
195
|
test_files:
|
194
|
-
- test/
|
195
|
-
- test/models/scheduled_task_test.rb
|
196
|
-
- test/dummy/config.ru
|
196
|
+
- test/dummy/Rakefile
|
197
197
|
- test/dummy/README.rdoc
|
198
|
-
- test/dummy/db/schema.rb
|
199
|
-
- test/dummy/app/views/layouts/application.html.erb
|
200
|
-
- test/dummy/app/assets/stylesheets/application.css
|
201
|
-
- test/dummy/app/assets/javascripts/application.js
|
202
|
-
- test/dummy/app/helpers/application_helper.rb
|
203
|
-
- test/dummy/app/controllers/application_controller.rb
|
204
|
-
- test/dummy/bin/bundle
|
205
198
|
- test/dummy/bin/rails
|
206
|
-
- test/dummy/bin/setup
|
207
199
|
- test/dummy/bin/rake
|
208
|
-
- test/dummy/
|
209
|
-
- test/dummy/
|
210
|
-
- test/dummy/config/environments/test.rb
|
211
|
-
- test/dummy/config/environments/development.rb
|
212
|
-
- test/dummy/config/application.rb
|
213
|
-
- test/dummy/config/boot.rb
|
214
|
-
- test/dummy/config/locales/en.yml
|
215
|
-
- test/dummy/config/initializers/session_store.rb
|
216
|
-
- test/dummy/config/initializers/filter_parameter_logging.rb
|
217
|
-
- test/dummy/config/initializers/wrap_parameters.rb
|
218
|
-
- test/dummy/config/initializers/backtrace_silencers.rb
|
219
|
-
- test/dummy/config/initializers/inflections.rb
|
200
|
+
- test/dummy/bin/bundle
|
201
|
+
- test/dummy/bin/setup
|
220
202
|
- test/dummy/config/initializers/assets.rb
|
203
|
+
- test/dummy/config/initializers/wrap_parameters.rb
|
204
|
+
- test/dummy/config/initializers/session_store.rb
|
221
205
|
- test/dummy/config/initializers/cookies_serializer.rb
|
206
|
+
- test/dummy/config/initializers/inflections.rb
|
222
207
|
- test/dummy/config/initializers/mime_types.rb
|
208
|
+
- test/dummy/config/initializers/backtrace_silencers.rb
|
209
|
+
- test/dummy/config/initializers/filter_parameter_logging.rb
|
210
|
+
- test/dummy/config/boot.rb
|
211
|
+
- test/dummy/config/locales/en.yml
|
223
212
|
- test/dummy/config/secrets.yml
|
213
|
+
- test/dummy/config/environment.rb
|
224
214
|
- test/dummy/config/database.yml
|
225
215
|
- test/dummy/config/routes.rb
|
226
|
-
- test/dummy/config/
|
227
|
-
- test/dummy/
|
216
|
+
- test/dummy/config/environments/development.rb
|
217
|
+
- test/dummy/config/environments/test.rb
|
218
|
+
- test/dummy/config/environments/production.rb
|
219
|
+
- test/dummy/config/application.rb
|
220
|
+
- test/dummy/app/assets/stylesheets/application.css
|
221
|
+
- test/dummy/app/assets/javascripts/application.js
|
222
|
+
- test/dummy/app/views/layouts/application.html.erb
|
223
|
+
- test/dummy/app/helpers/application_helper.rb
|
224
|
+
- test/dummy/app/controllers/application_controller.rb
|
225
|
+
- test/dummy/db/schema.rb
|
228
226
|
- test/dummy/public/favicon.ico
|
229
|
-
- test/dummy/public/404.html
|
230
227
|
- test/dummy/public/500.html
|
228
|
+
- test/dummy/public/422.html
|
229
|
+
- test/dummy/public/404.html
|
230
|
+
- test/dummy/config.ru
|
231
|
+
- test/models/scheduled_task_test.rb
|
231
232
|
- test/test_helper.rb
|
233
|
+
- test/fixtures/scheduled_tasks.yml
|