workhorse 1.2.8 → 1.2.10
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 +19 -0
- data/LICENSE +1 -1
- data/README.md +1 -1
- data/VERSION +1 -1
- data/lib/workhorse/daemon.rb +11 -2
- data/workhorse.gemspec +3 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2d15daf82cef773b8b5d20c371a0a25e57aa52dac2a8adfdede69391229618ec
|
4
|
+
data.tar.gz: 4aa045bb14e3ba2dd74a856681ef3e4b96499e0cbd4cde11020547b27bd6b7bd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 58ae320fa056a04a572a3ac6a8ad9c99af17c93d30fe6a3194d9b68d2ceddee23fbf669c36ab7abbf7427ae4fd3fd5abb8be7da15dd24c3488e2dc357112ac5a
|
7
|
+
data.tar.gz: 02614eaa06c074136467f171038a581bdea771f252b16c717f162442dd3ba270cb12457827fd804940afe525d064b55f3ee59dbadb96c34e70bcfd147f44ca47
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,24 @@
|
|
1
1
|
# Workhorse Changelog
|
2
2
|
|
3
|
+
## 1.2.10 - 2023-01-05
|
4
|
+
|
5
|
+
* Attempt to make shutdown of workers more robust by sending both `TERM` and
|
6
|
+
`INT` signals.
|
7
|
+
|
8
|
+
Sitrox reference: #108374.1-1.
|
9
|
+
|
10
|
+
## 1.2.9 - 2022-12-08
|
11
|
+
|
12
|
+
* Properly detach forked worker processes from parent process to prevent zombie
|
13
|
+
processes
|
14
|
+
|
15
|
+
* Reopen STDIN, STDOUT and STDERR pipes to `/dev/null` after forking
|
16
|
+
(daemonizing) worker processes. This detaches from the current TTY which
|
17
|
+
prevents the issue that SSH connections sometimes could not be closed when
|
18
|
+
having daemonized new worker processes.
|
19
|
+
|
20
|
+
Sitrox reference: #107576.
|
21
|
+
|
3
22
|
## 1.2.8 - 2022-11-23
|
4
23
|
|
5
24
|
* Add configuration option `lock_shell_commands`. This defaults to `true` to
|
data/LICENSE
CHANGED
data/README.md
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.2.
|
1
|
+
1.2.10
|
data/lib/workhorse/daemon.rb
CHANGED
@@ -147,17 +147,26 @@ module Workhorse
|
|
147
147
|
def start_worker(worker)
|
148
148
|
pid = fork do
|
149
149
|
$0 = process_name(worker)
|
150
|
+
|
151
|
+
# Reopen pipes to prevent #107576
|
152
|
+
STDIN.reopen File.open('/dev/null', 'r')
|
153
|
+
null_out = File.open '/dev/null', 'w'
|
154
|
+
STDOUT.reopen null_out
|
155
|
+
STDERR.reopen null_out
|
156
|
+
|
150
157
|
worker.block.call
|
151
158
|
end
|
152
159
|
IO.write(pid_file_for(worker), pid)
|
160
|
+
Process.detach(pid)
|
153
161
|
end
|
154
162
|
|
155
163
|
def stop_worker(pid_file, pid, kill = false)
|
156
|
-
|
164
|
+
signals = kill ? %w[KILL] : %w[TERM INT]
|
157
165
|
|
158
166
|
loop do
|
159
167
|
begin
|
160
|
-
|
168
|
+
puts "Sending signals #{signals.inspect}".red
|
169
|
+
signals.each { |signal| Process.kill(signal, pid) }
|
161
170
|
rescue Errno::ESRCH
|
162
171
|
break
|
163
172
|
end
|
data/workhorse.gemspec
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: workhorse 1.2.
|
2
|
+
# stub: workhorse 1.2.10 ruby lib
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "workhorse".freeze
|
6
|
-
s.version = "1.2.
|
6
|
+
s.version = "1.2.10"
|
7
7
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
9
9
|
s.require_paths = ["lib".freeze]
|
10
10
|
s.authors = ["Sitrox".freeze]
|
11
|
-
s.date = "
|
11
|
+
s.date = "2023-01-05"
|
12
12
|
s.files = [".github/workflows/ruby.yml".freeze, ".gitignore".freeze, ".releaser_config".freeze, ".rubocop.yml".freeze, "CHANGELOG.md".freeze, "FAQ.md".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "RUBY_VERSION".freeze, "Rakefile".freeze, "VERSION".freeze, "bin/rubocop".freeze, "lib/active_job/queue_adapters/workhorse_adapter.rb".freeze, "lib/generators/workhorse/install_generator.rb".freeze, "lib/generators/workhorse/templates/bin/workhorse.rb".freeze, "lib/generators/workhorse/templates/config/initializers/workhorse.rb".freeze, "lib/generators/workhorse/templates/create_table_jobs.rb".freeze, "lib/workhorse.rb".freeze, "lib/workhorse/daemon.rb".freeze, "lib/workhorse/daemon/shell_handler.rb".freeze, "lib/workhorse/db_job.rb".freeze, "lib/workhorse/enqueuer.rb".freeze, "lib/workhorse/jobs/cleanup_succeeded_jobs.rb".freeze, "lib/workhorse/jobs/detect_stale_jobs_job.rb".freeze, "lib/workhorse/jobs/run_active_job.rb".freeze, "lib/workhorse/jobs/run_rails_op.rb".freeze, "lib/workhorse/performer.rb".freeze, "lib/workhorse/poller.rb".freeze, "lib/workhorse/pool.rb".freeze, "lib/workhorse/scoped_env.rb".freeze, "lib/workhorse/worker.rb".freeze, "test/active_job/queue_adapters/workhorse_adapter_test.rb".freeze, "test/lib/db_schema.rb".freeze, "test/lib/jobs.rb".freeze, "test/lib/test_helper.rb".freeze, "test/workhorse/db_job_test.rb".freeze, "test/workhorse/enqueuer_test.rb".freeze, "test/workhorse/performer_test.rb".freeze, "test/workhorse/poller_test.rb".freeze, "test/workhorse/pool_test.rb".freeze, "test/workhorse/worker_test.rb".freeze, "workhorse.gemspec".freeze]
|
13
13
|
s.rubygems_version = "3.0.3".freeze
|
14
14
|
s.summary = "Multi-threaded job backend with database queuing for ruby.".freeze
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: workhorse
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sitrox
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-01-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|