mini_scheduler 0.19.0 → 0.20.0
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 +4 -4
- data/CHANGELOG.md +7 -0
- data/app/models/mini_scheduler/stat.rb +1 -1
- data/lib/mini_scheduler/distributed_mutex.rb +3 -3
- data/lib/mini_scheduler/version.rb +1 -1
- data/lib/mini_scheduler/web.rb +30 -15
- data/lib/mini_scheduler.rb +0 -1
- data/mini_scheduler.gemspec +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a5a55f29798c78302b8e9ad6279f200bff9842980cb2591d932841c613eeb260
|
|
4
|
+
data.tar.gz: 8a2a7d79a5a0997c54b7dc1f6bf55f316963cd10102f542e4d358c3cadb98bbc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2dd40dbf5325b0b881d2b4c49ecb147d39cd433372700410aef26ad70091a094563520dc9cc5b5ed15642f3ff68a77982d53ba5d28b30dd18ea948755e24e230
|
|
7
|
+
data.tar.gz: 9cbea4b51e7b97e02d86d5473ab48596945484aff05b47d3a3313764d70d79bdc4f75e9cd6b88ff9c79b2b62aa85f308d66b626755e11263b546bc1a6160e055
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
# 0.20.0 - 2026-05-13
|
|
2
|
+
|
|
3
|
+
- Fix `MiniScheduler::Web` integration in Sidekiq 8+
|
|
4
|
+
- Move `redis` import to specs, host application won't need to explicitly
|
|
5
|
+
declare an otherwise unnecessary dependency (Sidekiq already migrated
|
|
6
|
+
to `redis-client` in v7.0)
|
|
7
|
+
|
|
1
8
|
# 0.19.0 - 2026-03-30
|
|
2
9
|
|
|
3
10
|
- Fix race condition in `MiniScheduler::Manager`
|
|
@@ -22,9 +22,9 @@ module MiniScheduler
|
|
|
22
22
|
@mutex = Mutex.new
|
|
23
23
|
end
|
|
24
24
|
|
|
25
|
-
MAX_POLLING_ATTEMPTS
|
|
26
|
-
BASE_SLEEP_DURATION
|
|
27
|
-
MAX_SLEEP_DURATION
|
|
25
|
+
MAX_POLLING_ATTEMPTS = 60
|
|
26
|
+
BASE_SLEEP_DURATION = 0.001
|
|
27
|
+
MAX_SLEEP_DURATION = 1
|
|
28
28
|
|
|
29
29
|
# NOTE wrapped in mutex to maintain its semantics
|
|
30
30
|
def synchronize
|
data/lib/mini_scheduler/web.rb
CHANGED
|
@@ -18,22 +18,24 @@ module MiniScheduler
|
|
|
18
18
|
end
|
|
19
19
|
end
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
end
|
|
21
|
+
module Helpers
|
|
22
|
+
def sane_time(time)
|
|
23
|
+
return unless time
|
|
24
|
+
time
|
|
25
|
+
end
|
|
27
26
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
end
|
|
27
|
+
def sane_duration(duration)
|
|
28
|
+
return unless duration
|
|
29
|
+
if duration < 1000
|
|
30
|
+
"#{duration}ms"
|
|
31
|
+
else
|
|
32
|
+
"#{"%.2f" % (duration / 1000.0)} secs"
|
|
35
33
|
end
|
|
36
34
|
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def self.registered(app)
|
|
38
|
+
app.helpers Helpers
|
|
37
39
|
|
|
38
40
|
app.get "/scheduler" do
|
|
39
41
|
MiniScheduler.before_sidekiq_web_request&.call
|
|
@@ -72,5 +74,18 @@ module MiniScheduler
|
|
|
72
74
|
end
|
|
73
75
|
end
|
|
74
76
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
+
sidekiq_version = Gem::Version.new(Sidekiq::VERSION)
|
|
78
|
+
register_options = {
|
|
79
|
+
name: nil, # asset namespace (not used here)
|
|
80
|
+
tab: "Scheduler", # tab label
|
|
81
|
+
index: "scheduler", # index route name
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if sidekiq_version < "7.3.0"
|
|
85
|
+
Sidekiq::Web.register MiniScheduler::Web
|
|
86
|
+
Sidekiq::Web.tabs[register_options[:tab]] = register_options[:index]
|
|
87
|
+
elsif sidekiq_version < "8.0.0"
|
|
88
|
+
Sidekiq::Web.register(MiniScheduler::Web, **register_options)
|
|
89
|
+
else # 8.0+
|
|
90
|
+
Sidekiq::Web.configure { |cfg| cfg.register(MiniScheduler::Web, **register_options) }
|
|
91
|
+
end
|
data/lib/mini_scheduler.rb
CHANGED
data/mini_scheduler.gemspec
CHANGED
|
@@ -30,6 +30,6 @@ Gem::Specification.new do |spec|
|
|
|
30
30
|
spec.add_development_dependency "guard-rspec", "~> 4.0"
|
|
31
31
|
spec.add_development_dependency "redis", ">= 4.0"
|
|
32
32
|
spec.add_development_dependency "rake", "~> 13.0"
|
|
33
|
-
spec.add_development_dependency "rubocop-discourse", "= 3.
|
|
33
|
+
spec.add_development_dependency "rubocop-discourse", "= 3.18.0"
|
|
34
34
|
spec.add_development_dependency "syntax_tree"
|
|
35
35
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mini_scheduler
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.20.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sam Saffron
|
|
@@ -148,14 +148,14 @@ dependencies:
|
|
|
148
148
|
requirements:
|
|
149
149
|
- - '='
|
|
150
150
|
- !ruby/object:Gem::Version
|
|
151
|
-
version: 3.
|
|
151
|
+
version: 3.18.0
|
|
152
152
|
type: :development
|
|
153
153
|
prerelease: false
|
|
154
154
|
version_requirements: !ruby/object:Gem::Requirement
|
|
155
155
|
requirements:
|
|
156
156
|
- - '='
|
|
157
157
|
- !ruby/object:Gem::Version
|
|
158
|
-
version: 3.
|
|
158
|
+
version: 3.18.0
|
|
159
159
|
- !ruby/object:Gem::Dependency
|
|
160
160
|
name: syntax_tree
|
|
161
161
|
requirement: !ruby/object:Gem::Requirement
|