dynamodb-sidekiq-scheduler 0.0.1 → 0.2
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.
- checksums.yaml +4 -4
- data/lib/sidekiq-scheduler/version.rb +1 -1
- data/lib/sidekiq-scheduler/web.rb +14 -7
- data/web/views/recurring_job.erb +20 -12
- metadata +4 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 69eeed67230490a8eadbce9bbb18336e24332756f270f1a7df5b203b23876095
|
4
|
+
data.tar.gz: 5694659a15a3f59b86e43089d9330c2e249d20670fb9c4d07d41d11c21670b2e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a87ef258b8a40ad07ad9ba4fc911dda0736e4a75ae3c5722e03264169367ef5c67468b6365f5a79e4d06ca5d57a99fddbc69fdbe5f6f6f9871ad2a1ef52b86e3
|
7
|
+
data.tar.gz: 1ef25e68c5a7bdd4c530f44a56fb5940a8410337902410ef1bc7ed4777eae4a027ec5f93df2677ea87e6a463beb4eb99f8ec512748d96658125c601d1e3fce81
|
@@ -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(job_name: params[:name]).first
|
50
50
|
if sr.present?
|
51
51
|
sr.destroy
|
52
52
|
else
|
@@ -60,24 +60,29 @@ 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
|
-
@
|
64
|
-
@config = Sidekiq.get_schedule(params[:name])
|
63
|
+
@presented_job = JobPresenter.new(params[:name], Sidekiq.get_schedule(params[:name]))
|
65
64
|
erb File.read(File.join(VIEW_PATH, 'recurring_job.erb'))
|
66
65
|
end
|
67
66
|
|
68
67
|
app.post '/recurring-jobs/new' do
|
69
68
|
@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
|
-
@config = { queue: 'default', enabled: false }
|
74
72
|
erb File.read(File.join(VIEW_PATH, 'recurring_job.erb'))
|
75
73
|
end
|
76
74
|
|
77
75
|
app.post '/recurring-jobs/:name/update' do
|
78
76
|
dynamo_clas_name = ENV.fetch('SIDEKIQ_SCHEDUER_DYNAMOID_CLASS', 'ScheduleRule')
|
79
77
|
klass = dynamo_clas_name.constantize
|
80
|
-
|
78
|
+
config = params.slice(*%w[worker_class description cron queue args]).transform_values(&:presence)
|
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
|
81
86
|
|
82
87
|
Sidekiq.reload_schedule!
|
83
88
|
redirect "#{root_path}recurring-jobs"
|
@@ -86,7 +91,9 @@ module SidekiqScheduler
|
|
86
91
|
app.post '/recurring-jobs/create' do
|
87
92
|
dynamo_clas_name = ENV.fetch('SIDEKIQ_SCHEDUER_DYNAMOID_CLASS', 'ScheduleRule')
|
88
93
|
klass = dynamo_clas_name.constantize
|
89
|
-
|
94
|
+
config = params.slice(*%w[job_name worker_class description cron queue args])
|
95
|
+
.transform_values(&:presence)
|
96
|
+
klass.create config
|
90
97
|
|
91
98
|
Sidekiq.reload_schedule!
|
92
99
|
redirect "#{root_path}recurring-jobs"
|
data/web/views/recurring_job.erb
CHANGED
@@ -2,16 +2,24 @@
|
|
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
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
5
|
+
<%= csrf_tag %>
|
6
|
+
<div style="padding: 20px;">
|
7
|
+
<label for="job_name">Job name:</label><br>
|
8
|
+
<input <%= @existing_rule ? 'disabled' : 'required' %> required name='job_name' type="text"
|
9
|
+
value="<%= @presented_job.name %>" style='width:50%;'/><br>
|
10
|
+
<label for="worker_class" style="padding-top: 10px;">Worker Class:</label><br>
|
11
|
+
<input name='worker_class' required type="text" value="<%= @presented_job['class'] %>" style='width:50%'/><br>
|
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>
|
20
|
+
|
21
|
+
<a href="<%= root_path %>recurring-jobs" class="btn btn-warn btn-xs"><%= t('cancel') %></a>
|
22
|
+
<input type="submit" class="btn btn-warn btn-xs" value="<%= @existing_rule ? t('update') : t('create') %>"/><br>
|
23
|
+
<a></a>
|
24
|
+
</div>
|
17
25
|
</form>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
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.2'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Morton Jonuschat
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2023-
|
13
|
+
date: 2023-03-16 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: sidekiq
|
@@ -242,15 +242,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
242
242
|
requirements:
|
243
243
|
- - ">="
|
244
244
|
- !ruby/object:Gem::Version
|
245
|
-
version: '2.
|
245
|
+
version: '2.7'
|
246
246
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
247
247
|
requirements:
|
248
248
|
- - ">="
|
249
249
|
- !ruby/object:Gem::Version
|
250
250
|
version: '0'
|
251
251
|
requirements: []
|
252
|
-
|
253
|
-
rubygems_version: 2.7.6.2
|
252
|
+
rubygems_version: 3.1.6
|
254
253
|
signing_key:
|
255
254
|
specification_version: 4
|
256
255
|
summary: Light weight job scheduling extension for Sidekiq
|