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 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: []