workhorse 1.2.14 → 1.2.15

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: 0a1665e70227e5e6fad1115523a94c7457a9b9b7216e10d2092c0326817bfd44
4
- data.tar.gz: f6a1d79bf0f55a8f2756934bb58ab3aefb83ef6369ffec7c783ef8cd6dfa50b0
3
+ metadata.gz: 772b634a73940718f57f2363859977dbc7f20ff4b7c12edada5c4cc499ff5f6c
4
+ data.tar.gz: 8c44df6872578300e6577155626f851ae1cb9202653f835b4dabbcc70fd78c70
5
5
  SHA512:
6
- metadata.gz: 8dde03d8f2a8f5c05307787433ef308c99c34ad2ab59d7c2edcc352c0428241a48ee5d0356f4a9a35a0de7dac876d60e1c09cd3c016915929f786a387a9e75e6
7
- data.tar.gz: b380dff403c8c10df7c2472422e462d66d40bff3796cbee09e81c63c11eafe4ba4a0d0dd361828f5a984f738fe30744b6fcea3616b6a54a9d1f7df016b21219f
6
+ metadata.gz: 751c63f5b1d86238d3e403332972ea0d177ee6c92acab793f3477d9c68f8223d755c633140e2622c2979b404f369327b6e507303f0d2532e1bcb408edf4a02f6
7
+ data.tar.gz: e5209a6b1472239ce48734eb99d0a1c7cfcd9c20d800c6bb5bb77dff001f84ce7b362b444d0d2d3b0ae2b92b035f75d59484df5dc9d4111c7816ad10aa1b17ef
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Workhorse Changelog
2
2
 
3
+ ## 1.2.15 - 2023-08-28
4
+
5
+ * Add capability to skip transactions for enqueued RailsOps operations.
6
+
3
7
  ## 1.2.14 - 2023-08-23
4
8
 
5
9
  * Add documentation for transaction handling.
data/README.md CHANGED
@@ -303,8 +303,8 @@ You can turn off transaction wrapping in the following ways:
303
303
  up their own transaction(s) or jobs that explicitly do not need a transaction
304
304
  for whatever reason.
305
305
 
306
- Usage of this feature depends on whether you are dealing with an ActiveJob job
307
- or a plain Workhorse job class.
306
+ Usage of this feature depends on whether you are dealing with an ActiveJob
307
+ job, an enqueued RailsOps operation or a plain Workhorse job class.
308
308
 
309
309
  For ActiveJob:
310
310
 
@@ -329,6 +329,29 @@ You can turn off transaction wrapping in the following ways:
329
329
  end
330
330
  ```
331
331
 
332
+ For enqueuable RailsOps operations:
333
+
334
+ 1. Add the following static method to your operation class:
335
+
336
+ ```ruby
337
+ class MyOp < RailsOps::Operation
338
+ def self.skip_tx?
339
+ true
340
+ end
341
+ end
342
+ ```
343
+
344
+ For plain Workhrose job clases:
345
+
346
+ 1. Add the following static method to your job class:
347
+
348
+ ```ruby
349
+ class MyJob
350
+ def self.skip_tx?
351
+ true
352
+ end
353
+ end
354
+
332
355
  ## Exception handling
333
356
 
334
357
  Per default, exceptions occurring in a worker thread will only be visible in the
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.2.14
1
+ 1.2.15
@@ -5,6 +5,10 @@ module Workhorse::Jobs
5
5
  @params = params
6
6
  end
7
7
 
8
+ def job_class
9
+ @cls
10
+ end
11
+
8
12
  def perform
9
13
  @cls.run!(@params)
10
14
  end
@@ -111,8 +111,8 @@ module Workhorse
111
111
  'connection properly. On MySQL, use "show processlist;" to see which connection(s) ' \
112
112
  'is / are holding the lock for a long period of time and consider killing them using '\
113
113
  "MySQL's \"kill <Id>\" command. This message will be issued only once per worker " \
114
- "and may only be re-triggered if the error happens again *after* the lock has " \
115
- "been solved in the meantime."
114
+ 'and may only be re-triggered if the error happens again *after* the lock has ' \
115
+ 'been solved in the meantime.'
116
116
 
117
117
  worker.log message
118
118
  exception = StandardError.new(message)
data/workhorse.gemspec CHANGED
@@ -1,14 +1,14 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: workhorse 1.2.14 ruby lib
2
+ # stub: workhorse 1.2.15 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "workhorse".freeze
6
- s.version = "1.2.14"
6
+ s.version = "1.2.15"
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 = "2023-08-23"
11
+ s.date = "2023-08-28"
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/active_job_extension.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.14
4
+ version: 1.2.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sitrox
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-23 00:00:00.000000000 Z
11
+ date: 2023-08-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -246,7 +246,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
246
246
  - !ruby/object:Gem::Version
247
247
  version: '0'
248
248
  requirements: []
249
- rubygems_version: 3.4.10
249
+ rubygems_version: 3.4.6
250
250
  signing_key:
251
251
  specification_version: 4
252
252
  summary: Multi-threaded job backend with database queuing for ruby.