dynamodb-sidekiq-scheduler 0.2 → 0.4
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 +7 -14
- data/web/views/recurring_job.erb +12 -20
- 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: 44238e2d235ddfb9e7d9afd49f11ed04818fed695fe89f8c6a5582fdaf6fd7b8
|
4
|
+
data.tar.gz: 15a508861db4aa29f69dfe8caf6dce4dd49d57f47999bb148cf0a1d2f88c1857
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3e9a24d3c229f41eedd44ac00922c6ce8eaa75be5757f290c70b6d51fb205dee4552b328e4836a5b85d7c89b6d8eb033a8fa382e725e400259a592e20a2e951d
|
7
|
+
data.tar.gz: c8750a1a82c076d84a54cfabcdf02b463b061e2d7eddc45c87d6f5d28200d55b2eaa0d1040c6de2f9d716c25e8a45cc1ae29da6eb91f178f71d202f55da6b200
|
@@ -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,24 @@ 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
|
+
@config = { queue: 'default', enabled: false }
|
72
74
|
erb File.read(File.join(VIEW_PATH, 'recurring_job.erb'))
|
73
75
|
end
|
74
76
|
|
75
77
|
app.post '/recurring-jobs/:name/update' do
|
76
78
|
dynamo_clas_name = ENV.fetch('SIDEKIQ_SCHEDUER_DYNAMOID_CLASS', 'ScheduleRule')
|
77
79
|
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
|
80
|
+
klass.update_or_create name: params[:name], config: JSON.parse(params[:config])
|
86
81
|
|
87
82
|
Sidekiq.reload_schedule!
|
88
83
|
redirect "#{root_path}recurring-jobs"
|
@@ -91,9 +86,7 @@ module SidekiqScheduler
|
|
91
86
|
app.post '/recurring-jobs/create' do
|
92
87
|
dynamo_clas_name = ENV.fetch('SIDEKIQ_SCHEDUER_DYNAMOID_CLASS', 'ScheduleRule')
|
93
88
|
klass = dynamo_clas_name.constantize
|
94
|
-
|
95
|
-
.transform_values(&:presence)
|
96
|
-
klass.create config
|
89
|
+
klass.update_or_create name: params[:name], config: JSON.parse(params[:config])
|
97
90
|
|
98
91
|
Sidekiq.reload_schedule!
|
99
92
|
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
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
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>
|
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>
|
12
|
+
<span class="help-block" style='width:50%;'>Example:<br>{"cron":"0 9 * * * America/New_York","class":"NameSpace::WorkerName","args":["arg1","arg2"],"description":"something","queue":"default","enabled":true}</span><br>
|
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.4'
|
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: []
|