dynamodb-sidekiq-scheduler 0.0.1

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.
@@ -0,0 +1,28 @@
1
+ require 'sidekiq'
2
+ require 'tilt/erb'
3
+
4
+ require_relative 'sidekiq/scheduler'
5
+ require_relative 'sidekiq-scheduler/version'
6
+ require_relative 'sidekiq-scheduler/manager'
7
+ require_relative 'sidekiq-scheduler/redis_manager'
8
+ require_relative 'sidekiq-scheduler/config'
9
+ require_relative 'sidekiq-scheduler/extensions/schedule'
10
+ require_relative 'sidekiq-scheduler/sidekiq_adapter'
11
+
12
+ Sidekiq.configure_server do |config|
13
+
14
+ config.on(:startup) do
15
+ # schedules_changed's type was changed from SET to ZSET, so we remove old versions at startup
16
+ SidekiqScheduler::RedisManager.clean_schedules_changed
17
+
18
+ scheduler_config = SidekiqScheduler::Config.new(sidekiq_config: config)
19
+
20
+ schedule_manager = SidekiqScheduler::Manager.new(scheduler_config)
21
+ SidekiqScheduler::SidekiqAdapter.start_schedule_manager(sidekiq_config: config, schedule_manager: schedule_manager)
22
+ end
23
+
24
+ config.on(:quiet) do
25
+ SidekiqScheduler::SidekiqAdapter.stop_schedule_manager(sidekiq_config: config)
26
+ end
27
+
28
+ end
@@ -0,0 +1,42 @@
1
+ .recurring-jobs { border-top-left-radius: 4px; border-top-right-radius: 4px; }
2
+ .recurring-jobs .title { margin-bottom: 5px; }
3
+ .recurring-jobs .title .name { font-weight: bold;}
4
+ .recurring-jobs .info,
5
+ .recurring-jobs .description { margin-bottom: 5px; }
6
+ .recurring-jobs .actions { margin-bottom: 5px; }
7
+ .recurring-jobs .status,
8
+ .recurring-jobs .description { font-size: 12px; }
9
+ .recurring-jobs .enqueue { margin-bottom: 0.5rem }
10
+
11
+ .list-group-item {
12
+ background-color: #f3f3f3;
13
+ color: #585454;
14
+ border: 1px solid rgba(0, 0, 0, 0.1);
15
+ }
16
+
17
+ .list-group-item-disabled {
18
+ background-color: #f3d3d3;
19
+ }
20
+
21
+ @media (prefers-color-scheme: dark) {
22
+ .list-group-item {
23
+ background-color: #222;
24
+ color: white;
25
+ border: 1px solid #555;
26
+ }
27
+ }
28
+
29
+ .toggle-all-buttons {
30
+ margin-top: 20px;
31
+ margin-bottom: 10px;
32
+ line-height: 45px;
33
+ text-align: right;
34
+ }
35
+
36
+ @media (max-width: 768px) {
37
+ .toggle-all-buttons {
38
+ margin-top: 0;
39
+ text-align: left;
40
+ line-height: inherit;
41
+ }
42
+ }
@@ -0,0 +1,14 @@
1
+ cs:
2
+ recurring_jobs: Pravidelně opakované
3
+ name: Jméno
4
+ description: Popis
5
+ interval: Interval
6
+ class: Třída
7
+ queue: Fronta
8
+ arguments: Argumenty
9
+ enqueue_now: Zařadit nyní
10
+ last_time: Naposled
11
+ next_time: Příště
12
+ no_next_time: no next execution for this job
13
+ disable: Zakázat
14
+ enable: Povolit
@@ -0,0 +1,16 @@
1
+ de:
2
+ recurring_jobs: Wiederkehrende Jobs
3
+ name: Name
4
+ description: Beschreibung
5
+ interval: Intervall
6
+ class: Klasse
7
+ queue: Warteschlange
8
+ arguments: Argumente
9
+ enqueue_now: Jetzt hinzufügen
10
+ last_time: Letzte Ausführung
11
+ next_time: Nächste Ausführung
12
+ no_next_time: Keine zukünftige Ausführung für diesen Job
13
+ disable: Deaktivieren
14
+ enable: Aktivieren
15
+ disable_all: Alle deaktivieren
16
+ enable_all: Alle aktivieren
@@ -0,0 +1,23 @@
1
+ en:
2
+ recurring_jobs: Recurring Jobs
3
+ name: Name
4
+ description: Description
5
+ interval: Interval
6
+ class: Class
7
+ queue: Queue
8
+ arguments: Arguments
9
+ enqueue_now: Enqueue now
10
+ last_time: Last Time
11
+ next_time: Next Time
12
+ no_next_time: no next execution for this job
13
+ disable: Disable
14
+ enable: Enable
15
+ disable_all: Disable all
16
+ enable_all: Enable all
17
+ remove: Remove
18
+ edit: Edit
19
+ update: Update
20
+ new: New
21
+ cancel: Cancel
22
+ create: Create
23
+
@@ -0,0 +1,14 @@
1
+ es:
2
+ recurring_jobs: Tareas Recurrentes
3
+ name: Nombre
4
+ description: Descripción
5
+ interval: Intervalo
6
+ class: Clase
7
+ queue: Cola
8
+ arguments: Argumentos
9
+ enqueue_now: Encolar ahora
10
+ last_time: Última ejecución
11
+ next_time: Próxima ejecución
12
+ no_next_time: esta tarea no se volverá a ejecutar
13
+ disable: Inhabilitar
14
+ enable: Habilitar
@@ -0,0 +1,13 @@
1
+ fr:
2
+ recurring_jobs: Tâches récurrentes
3
+ name: Nom
4
+ description: Description
5
+ interval: Intervalle
6
+ class: Classe
7
+ queue: Queue
8
+ arguments: Arguments
9
+ enqueue_now: Ajouter à la queue
10
+ next_time: Quand
11
+ no_next_time: Pas d'exécution prévue pour cette tâche
12
+ disable: Désactiver
13
+ enable: Activer
@@ -0,0 +1,14 @@
1
+ it:
2
+ recurring_jobs: Job ricorrenti
3
+ name: Nome
4
+ description: Descrizione
5
+ interval: Intervallo
6
+ class: Classe
7
+ queue: Coda
8
+ arguments: Argomenti
9
+ enqueue_now: Accoda ora
10
+ last_time: Ultima esecuzione
11
+ next_time: Prossima esecuzione
12
+ no_next_time: nessuna descrizione per questo Job
13
+ disable: Disabilita
14
+ enable: Abilita
@@ -0,0 +1,14 @@
1
+ ja:
2
+ recurring_jobs: 定期ジョブ
3
+ name: 名前
4
+ description: 説明
5
+ interval: インターバル
6
+ class: クラス
7
+ queue: キュー
8
+ arguments: 引数
9
+ enqueue_now: すぐにエンキュー
10
+ last_time: 前回
11
+ next_time: 次回
12
+ no_next_time: このジョブの次の実行はありません
13
+ disable: 無効
14
+ enable: 有効
@@ -0,0 +1,14 @@
1
+ nl:
2
+ recurring_jobs: Herhalende taken
3
+ name: Naam
4
+ description: Beschrijving
5
+ interval: Interval
6
+ class: Klasse
7
+ queue: Wachtrij
8
+ arguments: Argumenten
9
+ enqueue_now: Nu toevoegen
10
+ last_time: Laatste keer
11
+ next_time: Volgende keer
12
+ no_next_time: Geen volgende keer voor deze taak
13
+ disable: Uitzetten
14
+ enable: Aanzetten
@@ -0,0 +1,14 @@
1
+ pl:
2
+ recurring_jobs: Okresowe
3
+ name: Nazwa
4
+ description: Opis
5
+ interval: Interwał
6
+ class: Klasa
7
+ queue: Kolejka
8
+ arguments: Argumenty
9
+ enqueue_now: Zakolejkuj teraz
10
+ last_time: Ostatnie wystąpienie
11
+ next_time: Następne wystąpienie
12
+ no_next_time: to zadanie nie zostanie już wywołane
13
+ disable: Wyłącz
14
+ enable: Włącz
@@ -0,0 +1,19 @@
1
+ pt-BR:
2
+ recurring_jobs: Jobs Recorrentes
3
+ name: Nome
4
+ description: Descrição
5
+ interval: Intervalo
6
+ class: Classe
7
+ queue: Fila
8
+ arguments: Argumentos
9
+ enqueue_now: Enfileirar agora
10
+ last_time: Última execução
11
+ next_time: Próxima execução
12
+ no_next_time: Não há mais execuçoẽs
13
+ disable: Desativar
14
+ enable: Ativar
15
+ remove: Removee
16
+ edit: Editar
17
+ update: Atualiza
18
+ new: Novo
19
+ cancel: Cancelar
@@ -0,0 +1,16 @@
1
+ ru:
2
+ recurring_jobs: Расписание задач
3
+ name: Название
4
+ description: Описание
5
+ interval: Интервал
6
+ class: Класс
7
+ queue: Очередь
8
+ arguments: Аргументы
9
+ enqueue_now: Поставить в очередь
10
+ last_time: Время последнего выполнения
11
+ next_time: Время следующего выполнения
12
+ no_next_time: выполнение задачи не запланировано
13
+ disable: Выключить
14
+ enable: Включить
15
+ disable_all: Выключить все
16
+ enable_all: Включить все
@@ -0,0 +1,14 @@
1
+ sv:
2
+ recurring_jobs: Återkommande jobb
3
+ name: Namn
4
+ description: Beskrivning
5
+ interval: Interval
6
+ class: Klass
7
+ queue: Kö
8
+ arguments: Argument
9
+ enqueue_now: Placera i kö
10
+ last_time: Senaste gången
11
+ next_time: Nästa gång
12
+ no_next_time: inget nästa utförande för detta jobb
13
+ disable: Inaktivera
14
+ enable: Aktivera
@@ -0,0 +1,14 @@
1
+ zh-cn:
2
+ recurring_jobs: 周期作业
3
+ name: 名称
4
+ description: 描述
5
+ interval: 间隔
6
+ class: 类
7
+ queue: 队列
8
+ arguments: 参数
9
+ enqueue_now: 立即执行
10
+ last_time: 最后运行时间
11
+ next_time: 下次执行时间
12
+ no_next_time: 已无后续作业
13
+ disable: 禁用
14
+ enable: 启用
@@ -0,0 +1,17 @@
1
+ <h3>Recurring Job Update</h3>
2
+
3
+ <form action="<%= @form_action %>"
4
+ method="post" class="recurring-job" style="background-color:white;">
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>
17
+ </form>
@@ -0,0 +1,113 @@
1
+ <%# This view is a copy from the sidekiq web view, with just a few new actions (remove, edit, new) %>
2
+ <% if Sidekiq::VERSION >= '6.0.0' %>
3
+ <link href="<%= root_path %>stylesheets-scheduler/recurring_jobs.css" media="screen" rel="stylesheet" type="text/css" />
4
+ <% else %>
5
+ <style>
6
+ .recurring-jobs { border-top-left-radius: 4px; border-top-right-radius: 4px; }
7
+ .recurring-jobs .title { margin-bottom: 5px; }
8
+ .recurring-jobs .title .name { font-weight: bold;}
9
+ .recurring-jobs .info,
10
+ .recurring-jobs .description { margin-bottom: 5px; }
11
+ .recurring-jobs .actions { margin-bottom: 5px; }
12
+ .recurring-jobs .status,
13
+ .recurring-jobs .description { font-size: 12px; }
14
+ .recurring-jobs .enqueue { margin-bottom: 0.5rem }
15
+
16
+ .list-group-item {
17
+ background-color: #f3f3f3;
18
+ color: #585454;
19
+ border: 1px solid rgba(0, 0, 0, 0.1);
20
+ }
21
+
22
+ .list-group-item-disabled {
23
+ background-color: #f3d3d3;
24
+ }
25
+
26
+ .toggle-all-buttons {
27
+ margin-top: 20px;
28
+ margin-bottom: 10px;
29
+ line-height: 45px;
30
+ text-align: right;
31
+ }
32
+
33
+ @media (max-width: 768px) {
34
+ .toggle-all-buttons {
35
+ margin-top: 0;
36
+ text-align: left;
37
+ line-height: inherit;
38
+ }
39
+ }
40
+ </style>
41
+ <% end %>
42
+
43
+ <div class="row">
44
+ <div class="col-sm-6">
45
+ <h3><%= t('recurring_jobs') %></h3>
46
+ </div>
47
+ <div class="col-sm-6 toggle-all-buttons">
48
+ <form action="<%= root_path %>recurring-jobs/toggle-all" method="post">
49
+ <%= csrf_tag %>
50
+ <button type="submit" class="btn btn-warn btn-xs" name="action" value="enable"><%= t('enable_all') %></button>
51
+ <button type="submit" class="btn btn-warn btn-xs" name="action" value="disable"><%= t('disable_all') %></button>
52
+ </form>
53
+ <form action="<%= root_path %>recurring-jobs/new" method="post">
54
+ <%= csrf_tag %>
55
+ <button type="submit" class="btn btn-warn btn-xs" name="action" value="enable"><%= t('new') %></button>
56
+ </form>
57
+ </div>
58
+ </div>
59
+
60
+ <div class="recurring-jobs">
61
+ <ul class="list-group">
62
+ <% @presented_jobs.each do |job| %>
63
+ <li class="list-group-item <%= !job.enabled? && "list-group-item-disabled" %>">
64
+ <div class="title">
65
+ <div class="row">
66
+ <div class="col-xs-6">
67
+ <span class="name"><%= job.name %></span>
68
+ </div>
69
+ <div class="col-xs-6 text-right">
70
+ <a href="<%= root_path %>queues/<%= job.queue %>"><%= job.queue %></a>
71
+ </div>
72
+ </div>
73
+ </div>
74
+ <div class="description"><%= job['description'] %></div>
75
+ <div class="info">
76
+ <div class="row">
77
+ <div class="col-md-4 class"><%= job['class'] %></div>
78
+ <div class="col-md-4 interval text-left"><%= t('interval') %>: <%= job.interval %></div>
79
+ <div class="col-md-4 args"><%= t('arguments') %>: <%= job['args'] %></div>
80
+ </div>
81
+ </div>
82
+ <div class="status row">
83
+ <div class="col-md-4 actions">
84
+ <form action="<%= root_path %>recurring-jobs/<%= ERB::Util.url_encode(job.name) %>/enqueue" method="post" class="enqueue">
85
+ <%= csrf_tag %>
86
+ <input type="submit" class="btn btn-warn btn-xs" value="<%= t('enqueue_now') %>" />
87
+ </form>
88
+ <form action="<%= root_path %>recurring-jobs/<%= ERB::Util.url_encode(job.name) %>/toggle" method="post">
89
+ <%= csrf_tag %>
90
+ <input type="submit" class="btn <%= job.enabled? ? "btn-primary" : "btn-warn"%> btn-xs" value="<%= job.enabled? ? t('disable') : t('enable') %>" />
91
+ </form>
92
+ <form action="<%= root_path %>recurring-jobs/<%= ERB::Util.url_encode(job.name) %>/destroy" method="post">
93
+ <%= csrf_tag %>
94
+ <input type="submit" class="btn <%= job.enabled? ? "btn-primary" : "btn-warn"%> btn-xs" value="<%= t('remove') %>" />
95
+ </form>
96
+ <form action="<%= root_path %>recurring-jobs/<%= ERB::Util.url_encode(job.name) %>/edit" method="post">
97
+ <%= csrf_tag %>
98
+ <input type="submit" class="btn <%= job.enabled? ? "btn-primary" : "btn-warn"%> btn-xs" value="<%= t('edit') %>" />
99
+ </form>
100
+ </div>
101
+ <div class="col-md-4">
102
+ <span class="last_time"><%= t('last_time') %>: <%= job.last_time %></span>
103
+ </div>
104
+ <div class="col-md-4">
105
+ <span class="next_time text-right" style="<%= 'text-decoration:line-through' unless job.enabled? %>">
106
+ <%= t('next_time') %>: <%= job.next_time || t('no_next_time') %>
107
+ </span>
108
+ </div>
109
+ </div>
110
+ </li>
111
+ <% end %>
112
+ </ul>
113
+ </div>
metadata ADDED
@@ -0,0 +1,257 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dynamodb-sidekiq-scheduler
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Morton Jonuschat
8
+ - Moove-it
9
+ - Marcelo Lauxen
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2023-06-22 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: sidekiq
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - ">="
20
+ - !ruby/object:Gem::Version
21
+ version: '6'
22
+ - - "<"
23
+ - !ruby/object:Gem::Version
24
+ version: '8'
25
+ type: :runtime
26
+ prerelease: false
27
+ version_requirements: !ruby/object:Gem::Requirement
28
+ requirements:
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ version: '6'
32
+ - - "<"
33
+ - !ruby/object:Gem::Version
34
+ version: '8'
35
+ - !ruby/object:Gem::Dependency
36
+ name: rufus-scheduler
37
+ requirement: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '3.2'
42
+ type: :runtime
43
+ prerelease: false
44
+ version_requirements: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '3.2'
49
+ - !ruby/object:Gem::Dependency
50
+ name: tilt
51
+ requirement: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: 1.4.0
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 1.4.0
63
+ - !ruby/object:Gem::Dependency
64
+ name: rake
65
+ requirement: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '12.0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '12.0'
77
+ - !ruby/object:Gem::Dependency
78
+ name: timecop
79
+ requirement: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ type: :development
85
+ prerelease: false
86
+ version_requirements: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ - !ruby/object:Gem::Dependency
92
+ name: mocha
93
+ requirement: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ type: :development
99
+ prerelease: false
100
+ version_requirements: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ - !ruby/object:Gem::Dependency
106
+ name: rspec
107
+ requirement: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ type: :development
113
+ prerelease: false
114
+ version_requirements: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ - !ruby/object:Gem::Dependency
120
+ name: simplecov
121
+ requirement: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ type: :development
127
+ prerelease: false
128
+ version_requirements: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ - !ruby/object:Gem::Dependency
134
+ name: byebug
135
+ requirement: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
140
+ type: :development
141
+ prerelease: false
142
+ version_requirements: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ - !ruby/object:Gem::Dependency
148
+ name: activejob
149
+ requirement: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ type: :development
155
+ prerelease: false
156
+ version_requirements: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ - !ruby/object:Gem::Dependency
162
+ name: rack-test
163
+ requirement: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
168
+ type: :development
169
+ prerelease: false
170
+ version_requirements: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
175
+ - !ruby/object:Gem::Dependency
176
+ name: rack
177
+ requirement: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - "<"
180
+ - !ruby/object:Gem::Version
181
+ version: '3'
182
+ type: :development
183
+ prerelease: false
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - "<"
187
+ - !ruby/object:Gem::Version
188
+ version: '3'
189
+ description: Light weight job scheduling extension for Sidekiq that adds support for
190
+ queueing jobs in a recurring way.
191
+ email:
192
+ - sidekiq-scheduler@moove-it.com
193
+ - marcelolauxen16@gmail.com
194
+ executables: []
195
+ extensions: []
196
+ extra_rdoc_files: []
197
+ files:
198
+ - CHANGELOG.md
199
+ - MIT-LICENSE
200
+ - README.md
201
+ - Rakefile
202
+ - lib/sidekiq-scheduler.rb
203
+ - lib/sidekiq-scheduler/config.rb
204
+ - lib/sidekiq-scheduler/extensions/schedule.rb
205
+ - lib/sidekiq-scheduler/extensions/web.rb
206
+ - lib/sidekiq-scheduler/job_presenter.rb
207
+ - lib/sidekiq-scheduler/manager.rb
208
+ - lib/sidekiq-scheduler/redis_manager.rb
209
+ - lib/sidekiq-scheduler/rufus_utils.rb
210
+ - lib/sidekiq-scheduler/schedule.rb
211
+ - lib/sidekiq-scheduler/scheduler.rb
212
+ - lib/sidekiq-scheduler/sidekiq_adapter.rb
213
+ - lib/sidekiq-scheduler/utils.rb
214
+ - lib/sidekiq-scheduler/version.rb
215
+ - lib/sidekiq-scheduler/web.rb
216
+ - lib/sidekiq/scheduler.rb
217
+ - web/assets/stylesheets-scheduler/recurring_jobs.css
218
+ - web/locales/cs.yml
219
+ - web/locales/de.yml
220
+ - web/locales/en.yml
221
+ - web/locales/es.yml
222
+ - web/locales/fr.yml
223
+ - web/locales/it.yml
224
+ - web/locales/ja.yml
225
+ - web/locales/nl.yml
226
+ - web/locales/pl.yml
227
+ - web/locales/pt-BR.yml
228
+ - web/locales/ru.yml
229
+ - web/locales/sv.yml
230
+ - web/locales/zh-cn.yml
231
+ - web/views/recurring_job.erb
232
+ - web/views/recurring_jobs.erb
233
+ homepage: https://sidekiq-scheduler.github.io/sidekiq-scheduler/
234
+ licenses:
235
+ - MIT
236
+ metadata: {}
237
+ post_install_message:
238
+ rdoc_options: []
239
+ require_paths:
240
+ - lib
241
+ required_ruby_version: !ruby/object:Gem::Requirement
242
+ requirements:
243
+ - - ">="
244
+ - !ruby/object:Gem::Version
245
+ version: '2.5'
246
+ required_rubygems_version: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ requirements: []
252
+ rubyforge_project:
253
+ rubygems_version: 2.7.6.2
254
+ signing_key:
255
+ specification_version: 4
256
+ summary: Light weight job scheduling extension for Sidekiq
257
+ test_files: []