sidekiq-scheduler 4.0.0.alpha1 → 4.0.2

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: 2a45a1821398ad12b4ebc760efb1ac6aec3c62d38a1176f2a9c804a2dbf08fab
4
- data.tar.gz: 5a9a8cb6e9c7a8262829c9f53a5aacb7ae91e5ae411627da1c189a471b803e12
3
+ metadata.gz: 46f14eafd933ccc91c36ba3b52babf250a9d17723d8a321b016bad2caaf36262
4
+ data.tar.gz: d285ce8992b380f98c05860883c54aa504c83df31aeba252297b1c02d35590a6
5
5
  SHA512:
6
- metadata.gz: 9772349882c5194d63775696468722b637dd1ec6c420027ef25107a0821c073e6440fa797d41432e4b93c1da9964f03a3032eb3853b57fa23525a08ba606b68d
7
- data.tar.gz: 4d424d7826176deb095cfa9450392eb3aa0b8630ee446a7dc0daf917e4ddd6c77c2bc8f7259bcb2450554bbdc77ecf3772dfbdd4f757eff1be7c7661c9bab392
6
+ metadata.gz: fe3a692c9419fe21b60333f4801c519fa9eb96b2c49f4f7ad9f6bb41001ac8c0b9884ffa01c19018fe5101e2419f09af3df93f3efcd4de11b87b108d785a5047
7
+ data.tar.gz: 264780676f625a002b67b88eb03ee12981a2e222889334799e76c1aefde9ec3d35fad50d645233bd27c195113ea14e5af68ad3d82b4f853e7342f6ae2c3d08c3
data/CHANGELOG.md ADDED
@@ -0,0 +1,25 @@
1
+ # 4.0.2
2
+
3
+ - [**FIX**] Fix sidekiq deprecation warning when Sidekiq 6.5+ [#385](https://github.com/sidekiq-scheduler/sidekiq-scheduler/pull/385)
4
+ - [**FIX**] Fix `#print_schedule` calling a method that doesn't exist in rufus scheduler [#388](https://github.com/sidekiq-scheduler/sidekiq-scheduler/pull/388)
5
+
6
+ # 4.0.1
7
+
8
+ - [**FIX**] Add support for sidekiq 6.5 [#382](https://github.com/sidekiq-scheduler/sidekiq-scheduler/pull/382)
9
+
10
+ # 4.0.0
11
+
12
+ - [**FIX**] Fix CSS not loading on Rails app when Sidekiq < 6 [#377](https://github.com/sidekiq-scheduler/sidekiq-scheduler/pull/377)
13
+ - [**BREAKING CHANGE**] Drop support for Sidekiq 3 [f15e7ca1a5f3ab5b6fd3d7664d67723dba1fa1f1](https://github.com/sidekiq-scheduler/sidekiq-scheduler/commit/f15e7ca1a5f3ab5b6fd3d7664d67723dba1fa1f1)
14
+
15
+ # 4.0.0.alpha1
16
+
17
+ - [**FIX**] Fix deprecated uses of Redis#pipelined [#357](https://github.com/sidekiq-scheduler/sidekiq-scheduler/pull/357)
18
+ - [**DOCS**] Add docs for running multi-sidekiq configurations [#362](https://github.com/sidekiq-scheduler/sidekiq-scheduler/pull/362)
19
+ - [**FIX**] Prevent sidekiq_options from overriding ActiveJob queue settings [#367](https://github.com/sidekiq-scheduler/sidekiq-scheduler/pull/367)
20
+ - [**ENHANCEMENT**] Highlight disabled jobs [#369](https://github.com/sidekiq-scheduler/sidekiq-scheduler/pull/369)
21
+ - [**BREAKING CHANGE**] Require redis 4.2.0 [#370](https://github.com/sidekiq-scheduler/sidekiq-scheduler/pull/370)
22
+ - [**FIX**] Fixes redis deprecation warning regarding `exists` [#370](https://github.com/sidekiq-scheduler/sidekiq-scheduler/pull/370)
23
+ - [**BREAKING CHANGE**] Remove dependecy on thwait and e2mmap [#371](https://github.com/sidekiq-scheduler/sidekiq-scheduler/pull/371)
24
+ - Support Ruby 3.1 [#373](https://github.com/sidekiq-scheduler/sidekiq-scheduler/pull/373)
25
+ - [**BREAKING CHANGE**] Set rufus_scheduler_options via sidekiq.yml file as configuration option [#375](https://github.com/sidekiq-scheduler/sidekiq-scheduler/pull/375)
data/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # sidekiq-scheduler
2
2
 
3
3
  <p align="center">
4
- <a href="http://moove-it.github.io/sidekiq-scheduler/">
5
- <img src="https://moove-it.github.io/sidekiq-scheduler/images/small-logo.svg" width="468px" height="200px" alt="Sidekiq Scheduler" />
4
+ <a href="http://sidekiq-scheduler.github.io/sidekiq-scheduler/">
5
+ <img src="https://sidekiq-scheduler.github.io/sidekiq-scheduler/images/small-logo.svg" width="468px" height="200px" alt="Sidekiq Scheduler" />
6
6
  </a>
7
7
  </p>
8
8
 
@@ -10,19 +10,7 @@
10
10
  <a href="https://badge.fury.io/rb/sidekiq-scheduler">
11
11
  <img src="https://badge.fury.io/rb/sidekiq-scheduler.svg" alt="Gem Version">
12
12
  </a>
13
- <a href="https://codeclimate.com/github/moove-it/sidekiq-scheduler">
14
- <img src="https://codeclimate.com/github/moove-it/sidekiq-scheduler/badges/gpa.svg" alt="Code Climate">
15
- </a>
16
- <a href="https://travis-ci.org/moove-it/sidekiq-scheduler">
17
- <img src="https://api.travis-ci.org/moove-it/sidekiq-scheduler.svg?branch=master" alt="Build Status">
18
- </a>
19
- <a href="https://coveralls.io/github/moove-it/sidekiq-scheduler?branch=master">
20
- <img src="https://coveralls.io/repos/moove-it/sidekiq-scheduler/badge.svg?branch=master&service=github" alt="Coverage Status">
21
- </a>
22
- <a href="https://inch-ci.org/github/moove-it/sidekiq-scheduler">
23
- <img src="https://inch-ci.org/github/moove-it/sidekiq-scheduler.svg?branch=master" alt="Documentation Coverage">
24
- </a>
25
- <a href="http://www.rubydoc.info/github/moove-it/sidekiq-scheduler">
13
+ <a href="http://www.rubydoc.info/github/sidekiq-scheduler/sidekiq-scheduler">
26
14
  <img src="https://img.shields.io/badge/yard-docs-blue.svg" alt="Documentation">
27
15
  </a>
28
16
  </p>
@@ -30,7 +18,7 @@
30
18
  `sidekiq-scheduler` is an extension to [Sidekiq](http://github.com/mperham/sidekiq) that
31
19
  pushes jobs in a scheduled way, mimicking cron utility.
32
20
 
33
- __Note:__ Current branch contains work for a V4 release, if you are looking for version 2.2.* or 3.*, go to [2.2-stable branch](https://github.com/moove-it/sidekiq-scheduler/tree/2.2-stable) / [v3-stable](https://github.com/moove-it/sidekiq-scheduler/tree/v3-stable).
21
+ __Note:__ Current branch contains work of the v4 release, if you are looking for version 2.2.* or 3.*, go to [2.2-stable branch](https://github.com/sidekiq-scheduler/sidekiq-scheduler/tree/2.2-stable) / [v3-stable](https://github.com/sidekiq-scheduler/sidekiq-scheduler/tree/v3-stable).
34
22
 
35
23
  ## Installation
36
24
 
@@ -387,7 +375,7 @@ Scheduler** for the other processes not responsible for the schedule. If you
387
375
  don't, the last booted Sidekiq processes' schedule will be what is stored in
388
376
  Redis.
389
377
 
390
- See https://github.com/moove-it/sidekiq-scheduler/issues/361 for a more details.
378
+ See https://github.com/sidekiq-scheduler/sidekiq-scheduler/issues/361 for a more details.
391
379
 
392
380
  ## Sidekiq Web Integration
393
381
 
@@ -402,7 +390,7 @@ require 'sidekiq-scheduler/web'
402
390
  run Sidekiq::Web
403
391
  ```
404
392
 
405
- ![Sidekiq Web Integration](https://github.com/moove-it/sidekiq-scheduler/raw/master/images/recurring-jobs-ui-tab.png)
393
+ ![Sidekiq Web Integration](https://github.com/sidekiq-scheduler/sidekiq-scheduler/raw/master/images/recurring-jobs-ui-tab.png)
406
394
 
407
395
  ## ActiveJob integration
408
396
 
@@ -426,7 +414,7 @@ To see your updated schedule, be sure to reload Spring by stopping it prior to b
426
414
 
427
415
  Run `spring stop` to stop Spring.
428
416
 
429
- For more information, see [this issue](https://github.com/Moove-it/sidekiq-scheduler/issues/35#issuecomment-48067183) and [Spring's README](https://github.com/rails/spring/blob/master/README.md).
417
+ For more information, see [this issue](https://github.com/sidekiq-scheduler/sidekiq-scheduler/issues/35#issuecomment-48067183) and [Spring's README](https://github.com/rails/spring/blob/master/README.md).
430
418
 
431
419
 
432
420
  ## Manage tasks from Unicorn/Rails server
@@ -5,7 +5,10 @@ ASSETS_PATH = File.expand_path('../../../web/assets', __dir__)
5
5
  Sidekiq::Web.register(SidekiqScheduler::Web)
6
6
  Sidekiq::Web.tabs['recurring_jobs'] = 'recurring-jobs'
7
7
  Sidekiq::Web.locales << File.expand_path("#{File.dirname(__FILE__)}/../../../web/locales")
8
- Sidekiq::Web.use Rack::Static, urls: ['/stylesheets'],
9
- root: ASSETS_PATH,
10
- cascade: true,
11
- header_rules: [[:all, { 'Cache-Control' => 'public, max-age=86400' }]]
8
+
9
+ if Sidekiq::VERSION >= '6.0.0'
10
+ Sidekiq::Web.use Rack::Static, urls: ['/stylesheets'],
11
+ root: ASSETS_PATH,
12
+ cascade: true,
13
+ header_rules: [[:all, { 'Cache-Control' => 'public, max-age=86400' }]]
14
+ end
@@ -1,7 +1,5 @@
1
1
  require 'redis'
2
2
 
3
- require 'sidekiq/util'
4
-
5
3
  require 'sidekiq-scheduler/schedule'
6
4
  require 'sidekiq-scheduler/scheduler'
7
5
 
@@ -12,8 +10,6 @@ module SidekiqScheduler
12
10
  # from Redis onto the work queues
13
11
  #
14
12
  class Manager
15
- include Sidekiq::Util
16
-
17
13
  DEFAULT_SCHEDULER_OPTIONS = {
18
14
  enabled: true,
19
15
  dynamic: false,
@@ -1,13 +1,10 @@
1
1
  require 'rufus/scheduler'
2
- require 'sidekiq/util'
3
2
  require 'json'
4
3
  require 'sidekiq-scheduler/rufus_utils'
5
4
  require 'sidekiq-scheduler/redis_manager'
6
5
 
7
6
  module SidekiqScheduler
8
7
  class Scheduler
9
- extend Sidekiq::Util
10
-
11
8
  # We expect rufus jobs to have #params
12
9
  Rufus::Scheduler::Job.module_eval do
13
10
  alias_method :params, :opts
@@ -60,7 +57,7 @@ module SidekiqScheduler
60
57
  def print_schedule
61
58
  if rufus_scheduler
62
59
  Sidekiq.logger.info "Scheduling Info\tLast Run"
63
- scheduler_jobs = rufus_scheduler.all_jobs
60
+ scheduler_jobs = rufus_scheduler.jobs
64
61
  scheduler_jobs.each_value do |v|
65
62
  Sidekiq.logger.info "#{v.t}\t#{v.last}\t"
66
63
  end
@@ -287,7 +284,11 @@ module SidekiqScheduler
287
284
  end
288
285
 
289
286
  def sidekiq_queues
290
- Sidekiq.options[:queues].map(&:to_s)
287
+ if SIDEKIQ_GTE_6_5_0
288
+ Sidekiq[:queues].map(&:to_s)
289
+ else
290
+ Sidekiq.options[:queues].map(&:to_s)
291
+ end
291
292
  end
292
293
 
293
294
  # Returns true if a job's queue is included in the array of queues
@@ -1,3 +1,3 @@
1
1
  module SidekiqScheduler
2
- VERSION = "4.0.0.alpha1"
2
+ VERSION = "4.0.2"
3
3
  end
@@ -7,19 +7,33 @@ require_relative 'sidekiq-scheduler/manager'
7
7
  require_relative 'sidekiq-scheduler/redis_manager'
8
8
  require_relative 'sidekiq-scheduler/extensions/schedule'
9
9
 
10
+ SIDEKIQ_GTE_6_5_0 = Gem::Version.new(Sidekiq::VERSION) >= Gem::Version.new('6.5.0')
11
+
10
12
  Sidekiq.configure_server do |config|
11
13
 
12
14
  config.on(:startup) do
13
15
  # schedules_changed's type was changed from SET to ZSET, so we remove old versions at startup
14
16
  SidekiqScheduler::RedisManager.clean_schedules_changed
15
17
 
16
- schedule_manager = SidekiqScheduler::Manager.new(config.options)
17
- config.options[:schedule_manager] = schedule_manager
18
- config.options[:schedule_manager].start
18
+ # Accessing the raw @config hash through .options is deprecated in 6.5 and to be removed in 7.0
19
+ config_options = SIDEKIQ_GTE_6_5_0 ? Sidekiq.instance_variable_get(:@config) : config.options
20
+
21
+ schedule_manager = SidekiqScheduler::Manager.new(config_options)
22
+ if SIDEKIQ_GTE_6_5_0
23
+ config[:schedule_manager] = schedule_manager
24
+ config[:schedule_manager].start
25
+ else
26
+ config.options[:schedule_manager] = schedule_manager
27
+ config.options[:schedule_manager].start
28
+ end
19
29
  end
20
30
 
21
31
  config.on(:quiet) do
22
- config.options[:schedule_manager].stop
32
+ if SIDEKIQ_GTE_6_5_0
33
+ config[:schedule_manager].stop
34
+ else
35
+ config.options[:schedule_manager].stop
36
+ end
23
37
  end
24
38
 
25
39
  end
@@ -1,4 +1,28 @@
1
- <link href="<%= root_path %>stylesheets/recurring_jobs.css" media="screen" rel="stylesheet" type="text/css" />
1
+ <% if Sidekiq::VERSION >= '6.0.0' %>
2
+ <link href="<%= root_path %>stylesheets/recurring_jobs.css" media="screen" rel="stylesheet" type="text/css" />
3
+ <% else %>
4
+ <style>
5
+ .recurring-jobs { border-top-left-radius: 4px; border-top-right-radius: 4px; }
6
+ .recurring-jobs .title { margin-bottom: 5px; }
7
+ .recurring-jobs .title .name { font-weight: bold;}
8
+ .recurring-jobs .info,
9
+ .recurring-jobs .description { margin-bottom: 5px; }
10
+ .recurring-jobs .actions { margin-bottom: 5px; }
11
+ .recurring-jobs .status,
12
+ .recurring-jobs .description { font-size: 12px; }
13
+ .recurring-jobs .enqueue { margin-bottom: 0.5rem }
14
+
15
+ .list-group-item {
16
+ background-color: #f3f3f3;
17
+ color: #585454;
18
+ border: 1px solid rgba(0, 0, 0, 0.1);
19
+ }
20
+
21
+ .list-group-item-disabled {
22
+ background-color: #f3d3d3;
23
+ }
24
+ </style>
25
+ <% end %>
2
26
 
3
27
  <h3><%= t('recurring_jobs') %></h3>
4
28
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq-scheduler
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.alpha1
4
+ version: 4.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: 2022-04-21 00:00:00.000000000 Z
13
+ date: 2022-06-27 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: sidekiq
@@ -18,14 +18,14 @@ dependencies:
18
18
  requirements:
19
19
  - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: '3'
21
+ version: '4'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
- version: '3'
28
+ version: '4'
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: redis
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -217,6 +217,7 @@ executables: []
217
217
  extensions: []
218
218
  extra_rdoc_files: []
219
219
  files:
220
+ - CHANGELOG.md
220
221
  - MIT-LICENSE
221
222
  - README.md
222
223
  - Rakefile
@@ -248,7 +249,7 @@ files:
248
249
  - web/locales/sv.yml
249
250
  - web/locales/zh-cn.yml
250
251
  - web/views/recurring_jobs.erb
251
- homepage: https://moove-it.github.io/sidekiq-scheduler/
252
+ homepage: https://sidekiq-scheduler.github.io/sidekiq-scheduler/
252
253
  licenses:
253
254
  - MIT
254
255
  metadata: {}
@@ -263,9 +264,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
263
264
  version: '2.5'
264
265
  required_rubygems_version: !ruby/object:Gem::Requirement
265
266
  requirements:
266
- - - ">"
267
+ - - ">="
267
268
  - !ruby/object:Gem::Version
268
- version: 1.3.1
269
+ version: '0'
269
270
  requirements: []
270
271
  rubygems_version: 3.2.19
271
272
  signing_key: