dynamodb-sidekiq-scheduler 0.2 → 0.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 69eeed67230490a8eadbce9bbb18336e24332756f270f1a7df5b203b23876095
4
- data.tar.gz: 5694659a15a3f59b86e43089d9330c2e249d20670fb9c4d07d41d11c21670b2e
3
+ metadata.gz: 850847bb7177c4748340edd60fd4a6eb6b47d7f70b3c481d88c96639e8c29990
4
+ data.tar.gz: cbcc19f0d2c94f5e6bb3ba084831ba866a21d1f0ef6fd1ea56d40e4f19b912c9
5
5
  SHA512:
6
- metadata.gz: a87ef258b8a40ad07ad9ba4fc911dda0736e4a75ae3c5722e03264169367ef5c67468b6365f5a79e4d06ca5d57a99fddbc69fdbe5f6f6f9871ad2a1ef52b86e3
7
- data.tar.gz: 1ef25e68c5a7bdd4c530f44a56fb5940a8410337902410ef1bc7ed4777eae4a027ec5f93df2677ea87e6a463beb4eb99f8ec512748d96658125c601d1e3fce81
6
+ metadata.gz: fa192c72ce6480bf8d3b98cb2df6e5ab1d3af0d0f2f4ddb6b7a1c06b14b598b715174674395063220c6ed99f433787ea120076353a84caa26ee4f0f23be31618
7
+ data.tar.gz: 6ac9f8c8f9d0c029d7a09ea4febd8384f84ed8678833f7af838030686f03904bf8e66a12803555aedb4a8a6de4675ac122dd3922d3e78cef4747a7e09756cda3
@@ -1,3 +1,3 @@
1
1
  module SidekiqScheduler
2
- VERSION = "0.2"
2
+ VERSION = "0.3"
3
3
  end
@@ -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(job_name: params[:name]).first
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
- @presented_job = JobPresenter.new(params[:name], Sidekiq.get_schedule(params[:name]))
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
- 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
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
- config = params.slice(*%w[job_name worker_class description cron queue args])
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"
@@ -2,24 +2,16 @@
2
2
 
3
3
  <form action="<%= @form_action %>"
4
4
  method="post" class="recurring-job" style="background-color:white;">
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>
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
- <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>
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.2'
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-03-16 00:00:00.000000000 Z
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: []