dynamodb-sidekiq-scheduler 0.2 → 0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/sidekiq-scheduler/version.rb +1 -1
- data/lib/sidekiq-scheduler/web.rb +9 -14
- data/web/views/recurring_job.erb +11 -19
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 850847bb7177c4748340edd60fd4a6eb6b47d7f70b3c481d88c96639e8c29990
|
4
|
+
data.tar.gz: cbcc19f0d2c94f5e6bb3ba084831ba866a21d1f0ef6fd1ea56d40e4f19b912c9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fa192c72ce6480bf8d3b98cb2df6e5ab1d3af0d0f2f4ddb6b7a1c06b14b598b715174674395063220c6ed99f433787ea120076353a84caa26ee4f0f23be31618
|
7
|
+
data.tar.gz: 6ac9f8c8f9d0c029d7a09ea4febd8384f84ed8678833f7af838030686f03904bf8e66a12803555aedb4a8a6de4675ac122dd3922d3e78cef4747a7e09756cda3
|
@@ -46,7 +46,7 @@ module SidekiqScheduler
|
|
46
46
|
|
47
47
|
dynamo_clas_name = ENV.fetch('SIDEKIQ_SCHEDUER_DYNAMOID_CLASS', 'ScheduleRule')
|
48
48
|
klass = dynamo_clas_name.constantize
|
49
|
-
sr = klass.where(
|
49
|
+
sr = klass.where(name: params[:name]).first
|
50
50
|
if sr.present?
|
51
51
|
sr.destroy
|
52
52
|
else
|
@@ -60,29 +60,26 @@ module SidekiqScheduler
|
|
60
60
|
@title = 'Recurring Job Update'
|
61
61
|
@form_action = "#{root_path}recurring-jobs/#{ERB::Util.url_encode(params[:name])}/update"
|
62
62
|
@existing_rule = true
|
63
|
-
@
|
63
|
+
@name = params[:name]
|
64
|
+
@config = Sidekiq.get_schedule(params[:name])
|
64
65
|
erb File.read(File.join(VIEW_PATH, 'recurring_job.erb'))
|
65
66
|
end
|
66
67
|
|
67
68
|
app.post '/recurring-jobs/new' do
|
68
69
|
@title = 'New Recurring Job'
|
69
|
-
@presented_job = JobPresenter.new('', {})
|
70
70
|
@existing_rule = false
|
71
71
|
@form_action = "#{root_path}recurring-jobs/create"
|
72
|
+
@name = ''
|
73
|
+
dynamo_clas_name = ENV.fetch('SIDEKIQ_SCHEDUER_DYNAMOID_CLASS', 'ScheduleRule')
|
74
|
+
klass = dynamo_clas_name.constantize
|
75
|
+
@config = klass.sample_config
|
72
76
|
erb File.read(File.join(VIEW_PATH, 'recurring_job.erb'))
|
73
77
|
end
|
74
78
|
|
75
79
|
app.post '/recurring-jobs/:name/update' do
|
76
80
|
dynamo_clas_name = ENV.fetch('SIDEKIQ_SCHEDUER_DYNAMOID_CLASS', 'ScheduleRule')
|
77
81
|
klass = dynamo_clas_name.constantize
|
78
|
-
|
79
|
-
sr = klass.where(job_name: params[:name]).first
|
80
|
-
if sr.present?
|
81
|
-
config.each { |k, v| sr.send "#{k}=", v}
|
82
|
-
sr.save!
|
83
|
-
else
|
84
|
-
klass.create config.merge(job_name: params[:name])
|
85
|
-
end
|
82
|
+
klass.update_or_create name: params[:name], config: JSON.parse(params[:config])
|
86
83
|
|
87
84
|
Sidekiq.reload_schedule!
|
88
85
|
redirect "#{root_path}recurring-jobs"
|
@@ -91,9 +88,7 @@ module SidekiqScheduler
|
|
91
88
|
app.post '/recurring-jobs/create' do
|
92
89
|
dynamo_clas_name = ENV.fetch('SIDEKIQ_SCHEDUER_DYNAMOID_CLASS', 'ScheduleRule')
|
93
90
|
klass = dynamo_clas_name.constantize
|
94
|
-
|
95
|
-
.transform_values(&:presence)
|
96
|
-
klass.create config
|
91
|
+
klass.update_or_create name: params[:name], config: JSON.parse(params[:config])
|
97
92
|
|
98
93
|
Sidekiq.reload_schedule!
|
99
94
|
redirect "#{root_path}recurring-jobs"
|
data/web/views/recurring_job.erb
CHANGED
@@ -2,24 +2,16 @@
|
|
2
2
|
|
3
3
|
<form action="<%= @form_action %>"
|
4
4
|
method="post" class="recurring-job" style="background-color:white;">
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
<label for="description" style="padding-top: 10px;">Description:</label><br>
|
13
|
-
<input name='description' type="text" value="<%= @presented_job['description'] %>" style='width:50%'/><br>
|
14
|
-
<label for="cron" style="padding-top: 10px;">Cron Rule:</label><br>
|
15
|
-
<input name='cron' type="text" value="<%= @presented_job['cron'] %>" style='width:50%'/><br>
|
16
|
-
<label for="queue" style="padding-top: 10px;">Queue:</label><br>
|
17
|
-
<input name='queue' type="text" value="<%= @presented_job['queue'] %>" style='width:50%'/><br>
|
18
|
-
<label for="args" style="padding-top: 10px;">Args:</label><br>
|
19
|
-
<input name='args' type="text" value="<%= @presented_job['args'] %>" style='width:50%'/><br><br>
|
5
|
+
<%= csrf_tag %>
|
6
|
+
<div style="padding: 20px;">
|
7
|
+
<label for="name">Name:</label><br>
|
8
|
+
<input <%= @existing_rule ? 'disabled' : 'required' %> required name='name' type="text"
|
9
|
+
value="<%= @name %>" style='width:50%;'/><br>
|
10
|
+
<label for="args" style="padding-top: 10px;">Configuration:</label><br>
|
11
|
+
<textarea name='config' style='width:50%'><%= @config.to_json.html_safe %></textarea><br><br>
|
20
12
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
13
|
+
<a href="<%= root_path %>recurring-jobs" class="btn btn-warn btn-xs"><%= t('cancel') %></a>
|
14
|
+
<input type="submit" class="btn btn-warn btn-xs" value="<%= @existing_rule ? t('update') : t('create') %>"/><br>
|
15
|
+
<a></a>
|
16
|
+
</div>
|
25
17
|
</form>
|
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dynamodb-sidekiq-scheduler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.3'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Morton Jonuschat
|
8
8
|
- Moove-it
|
9
9
|
- Marcelo Lauxen
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2023-
|
13
|
+
date: 2023-05-25 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: sidekiq
|
@@ -234,7 +234,7 @@ homepage: https://sidekiq-scheduler.github.io/sidekiq-scheduler/
|
|
234
234
|
licenses:
|
235
235
|
- MIT
|
236
236
|
metadata: {}
|
237
|
-
post_install_message:
|
237
|
+
post_install_message:
|
238
238
|
rdoc_options: []
|
239
239
|
require_paths:
|
240
240
|
- lib
|
@@ -250,7 +250,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
250
250
|
version: '0'
|
251
251
|
requirements: []
|
252
252
|
rubygems_version: 3.1.6
|
253
|
-
signing_key:
|
253
|
+
signing_key:
|
254
254
|
specification_version: 4
|
255
255
|
summary: Light weight job scheduling extension for Sidekiq
|
256
256
|
test_files: []
|