sidekiq 4.0.0.pre1 → 4.0.0.pre2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of sidekiq might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bd499d714dee9ad44fb3ebeb652cb3f42d15cf28
4
- data.tar.gz: 58f3537c50b420df72a7fc3db4cd9b909b26a041
3
+ metadata.gz: 9ae613def4b402732162cb005ca3179a1a810e09
4
+ data.tar.gz: 36aab3dd08ed5370fce1f2a6de7fae6973222dfb
5
5
  SHA512:
6
- metadata.gz: 431951c7f5d24d3a2fc274c7de7a8576667f542b236ddb704bd99ab5ab94d53ae57153066b3d3e1f674093933a2484ada3044d01a26d8f66f2e08be2447098a5
7
- data.tar.gz: 0bbe8c6eeb19eb3f0a9e5cd7ac86f477cc73031c32c03b3e001d272bd04595960e317fe7032f8ee41da83861b236b1f7ffc1b864cfe8c48df67bbe0a1904365b
6
+ metadata.gz: a2b0c7ab9631689ea1afd0bdbb0d5eb0122ac4258b245c91c7ffed51b3d65dfb3c1c5b5492c235f8ab0ef628b5a154e2a9cab4a9cb75dc2e1f2029670f63d223
7
+ data.tar.gz: 1d1391df672310f61563ba6a5125602104690a587da72a58038f33492626ab80cad60a7bba61507cadbf26d0bcc9d864d863adb43592e6543965072c5240af86
data/Changes.md CHANGED
@@ -8,6 +8,11 @@
8
8
  [detailed on my blog](http://www.mikeperham.com/2015/10/14/optimizing-sidekiq/).
9
9
  - See the [4.0 upgrade notes](4.0-Upgrade.md) for more detail.
10
10
 
11
+ 3.5.3
12
+ -----------
13
+
14
+ - Adjust shutdown event to run in parallel with the rest of system shutdown. [#2635]
15
+
11
16
  3.5.2
12
17
  -----------
13
18
 
@@ -3,7 +3,14 @@ Sidekiq Enterprise Changelog
3
3
 
4
4
  Please see [http://sidekiq.org/](http://sidekiq.org/) for more details and how to buy.
5
5
 
6
- HEAD
6
+ 0.7.7
7
+ ----------
8
+
9
+ - Fix racy shutdown event which could lead to disappearing periodic
10
+ jobs, requires Sidekiq >= 3.5.3.
11
+ - Add new :leader event which is fired when a process gains leadership.
12
+
13
+ 0.7.6
7
14
  ----------
8
15
 
9
16
  - Redesign how overrated jobs are rescheduled to avoid creating new
@@ -3,6 +3,16 @@ Sidekiq Pro Changelog
3
3
 
4
4
  Please see [http://sidekiq.org/](http://sidekiq.org/) for more details and how to buy.
5
5
 
6
+ 3.0.0
7
+ -----------
8
+
9
+ - See the [Pro 3.0 release notes](Pro-3.0-Upgrade.md).
10
+
11
+ 2.1.2
12
+ -----------
13
+
14
+ - Lock Sidekiq Pro 2.x to Sidekiq 3.x.
15
+
6
16
  2.1.1
7
17
  -----------
8
18
 
data/README.md CHANGED
@@ -32,7 +32,7 @@ are untested but might work fine. MRI 1.9 is no longer supported.
32
32
 
33
33
  All Rails releases starting from 3.2 are officially supported.
34
34
 
35
- Redis 2.4 or greater is required.
35
+ Redis 2.8 or greater is required.
36
36
 
37
37
 
38
38
  Installation
@@ -66,7 +66,7 @@ Please see the [sidekiq wiki](https://github.com/mperham/sidekiq/wiki) for the o
66
66
  [mperham/sidekiq on Gitter](https://gitter.im/mperham/sidekiq) is dedicated to this project,
67
67
  but bug reports or feature requests suggestions should still go through [issues on Github](https://github.com/mperham/sidekiq/issues). Release announcements are made to the [@sidekiq](https://twitter.com/sidekiq) Twitter account.
68
68
 
69
- You may also find useful a [Google Group](https://groups.google.com/forum/#!forum/sidekiq) dedicated to Sidekiq discussion and [a Sidekiq tag](https://stackoverflow.com/questions/tagged/sidekiq) on Stack Overflow.
69
+ You may also find useful a [Reddit area](https://reddit.com/r/sidekiq) dedicated to Sidekiq discussion and [a Sidekiq tag](https://stackoverflow.com/questions/tagged/sidekiq) on Stack Overflow.
70
70
 
71
71
 
72
72
  Problems?
@@ -75,14 +75,14 @@ Problems?
75
75
  **Please do not directly email any Sidekiq committers with questions or problems.** A community is best served when discussions are held in public.
76
76
 
77
77
  If you have a problem, please review the [FAQ](https://github.com/mperham/sidekiq/wiki/FAQ) and [Troubleshooting](https://github.com/mperham/sidekiq/wiki/Problems-and-Troubleshooting) wiki pages. Searching the issues for your problem is also a good idea. If that doesn't help, feel free to email the Sidekiq mailing list, chat in Gitter, or open a new issue.
78
- The mailing list is the preferred place to ask questions on usage. If you are encountering what you think is a bug, please open an issue.
78
+ StackOverflow or Reddit is the preferred place to ask questions on usage. If you are encountering what you think is a bug, please open an issue.
79
79
 
80
80
 
81
81
  Thanks
82
82
  -----------------
83
83
 
84
84
  Sidekiq stays fast by using the [JProfiler java profiler](http://www.ej-technologies.com/products/jprofiler/overview.html) to find and fix
85
- performance problems on JRuby. Unfortunately MRI does not have good profile tooling.
85
+ performance problems on JRuby. Unfortunately MRI does not have good multithreaded profiling tools.
86
86
 
87
87
 
88
88
  License
@@ -60,11 +60,11 @@ class Sidekiqctl
60
60
  end
61
61
 
62
62
  def quiet
63
- Process.kill(:USR1, pid)
63
+ `kill -USR1 #{pid}`
64
64
  end
65
65
 
66
66
  def stop
67
- Process.kill(:TERM, pid)
67
+ `kill -TERM #{pid}`
68
68
  kill_timeout.times do
69
69
  begin
70
70
  Process.getpgid(pid)
@@ -74,7 +74,7 @@ class Sidekiqctl
74
74
  end
75
75
  sleep 1
76
76
  end
77
- Process.kill(:KILL, pid)
77
+ `kill -9 #{pid}`
78
78
  FileUtils.rm_f pidfile
79
79
  done 'Sidekiq shut down forcefully.'
80
80
  end
@@ -225,7 +225,7 @@ module Sidekiq
225
225
  page = 0
226
226
  page_size = 50
227
227
 
228
- loop do
228
+ while true do
229
229
  range_start = page * page_size - deleted_size
230
230
  range_end = page * page_size - deleted_size + (page_size - 1)
231
231
  entries = Sidekiq.redis do |conn|
@@ -488,7 +488,7 @@ module Sidekiq
488
488
  page = -1
489
489
  page_size = 50
490
490
 
491
- loop do
491
+ while true do
492
492
  range_start = page * page_size + offset_size
493
493
  range_end = page * page_size + offset_size + (page_size - 1)
494
494
  elements = Sidekiq.redis do |conn|
@@ -97,9 +97,9 @@ module Sidekiq
97
97
  rescue Interrupt
98
98
  logger.info 'Shutting down'
99
99
  launcher.stop
100
- fire_event(:shutdown, true)
101
100
  # Explicitly exit so busy Processor threads can't block
102
101
  # process shutdown.
102
+ logger.info "Bye!"
103
103
  exit(0)
104
104
  end
105
105
  end
@@ -134,7 +134,6 @@ module Sidekiq
134
134
  when 'USR1'
135
135
  Sidekiq.logger.info "Received USR1, no longer accepting new work"
136
136
  launcher.quiet
137
- fire_event(:quiet, true)
138
137
  when 'USR2'
139
138
  if Sidekiq.options[:logfile]
140
139
  Sidekiq.logger.info "Received USR2, reopening log file"
@@ -52,10 +52,17 @@ module Sidekiq
52
52
 
53
53
  logger.info { "Terminating quiet workers" }
54
54
  @workers.each { |x| x.terminate }
55
+ fire_event(:quiet, true)
55
56
  end
56
57
 
57
58
  def stop(deadline)
58
59
  quiet
60
+ fire_event(:shutdown, true)
61
+
62
+ # some of the shutdown events can be async,
63
+ # we don't have any way to know when they're done but
64
+ # give them a little time to take effect
65
+ sleep 0.5
59
66
  return if @workers.empty?
60
67
 
61
68
  logger.info { "Pausing to allow workers to finish..." }
@@ -9,7 +9,7 @@ module Sidekiq
9
9
  def create(options={})
10
10
  options[:url] ||= determine_redis_provider
11
11
 
12
- size = options[:size] || (Sidekiq.server? ? (Sidekiq.options[:concurrency] + 2) : 5)
12
+ size = options[:size] || (Sidekiq.server? ? (Sidekiq.options[:concurrency] + 5) : 5)
13
13
 
14
14
  verify_sizing(size, Sidekiq.options[:concurrency]) if Sidekiq.server?
15
15
 
@@ -1,3 +1,3 @@
1
1
  module Sidekiq
2
- VERSION = "4.0.0.pre1"
2
+ VERSION = "4.0.0.pre2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.pre1
4
+ version: 4.0.0.pre2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Perham
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-28 00:00:00.000000000 Z
11
+ date: 2015-11-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis