ductwork 0.6.1 → 0.7.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d7a048f740173861ff86ef842b5bb4d8605a0734edbfc6c2cbfd0567080e2db9
4
- data.tar.gz: '058ea56084947e57a979ddf1074621638248f5e0cc4050c67ce8f9be8535afe3'
3
+ metadata.gz: ec9b8299086fb8f1f51c449000ba0c4b4fb7db17f4712525d8216db7c8f082ea
4
+ data.tar.gz: 997008b013d1a752e28237a7b6f0dab563a3e8beda7e6a2799f54013f89be661
5
5
  SHA512:
6
- metadata.gz: bbee812ab34f3cfc3e1720c30b9d85dd34466b1b077d99871feed9f19b09e0edaf9a12bc8103a80893b8833020a4d4d47c539f59eca88b92af28392c7a7ebc54
7
- data.tar.gz: be0a397e6293286f2f5dc9c9f7419d1ed25bff2a510c8af42b6a9a5fa55e1ac0f93f8bca90a928e970cddca421c2fcb623884b39ddf4be65aef0e6c0f3fda1b5
6
+ metadata.gz: c0687a091dd17926ea4cff0443d9b4cb593a448a26ca6e8f86a2ea629ff4c776e087bab52972d868a22dc5316bba4631123458e7a8202fceb3661c28f5d133cb
7
+ data.tar.gz: f5770989f81963fcedc318a11c038e81e4d4a5a211c22b428dccc6b60713da883d31dac2fe4994b3a122dab8fa75738ec766f48a50c31ea6a72c36530de5f8e0
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Ductwork Changelog
2
2
 
3
+ ## [0.7.0]
4
+
5
+ - feat: set `Pipeline` and `Step` models status to "in-progress" when claiming latest job
6
+
3
7
  ## [0.6.1]
4
8
 
5
9
  - chore: update misc development dependencies
@@ -11,7 +11,7 @@ module Ductwork
11
11
 
12
12
  FAILED_EXECUTION_TIMEOUT = 10.seconds
13
13
 
14
- def self.claim_latest(klass) # rubocop:todo Metrics/MethodLength
14
+ def self.claim_latest(klass) # rubocop:todo Metrics
15
15
  process_id = ::Process.pid
16
16
  id = Ductwork::Availability
17
17
  .joins(execution: { job: { step: :pipeline } })
@@ -45,9 +45,16 @@ module Ductwork
45
45
  process_id: process_id,
46
46
  availability_id: id
47
47
  )
48
- Ductwork::Job
49
- .joins(executions: :availability)
50
- .find_by(ductwork_availabilities: { id:, process_id: })
48
+ job = Ductwork::Job
49
+ .joins(executions: :availability)
50
+ .find_by(ductwork_availabilities: { id:, process_id: })
51
+
52
+ Ductwork::Record.transaction do
53
+ job.step.in_progress!
54
+ job.step.pipeline.in_progress!
55
+ end
56
+
57
+ job
51
58
  else
52
59
  Ductwork.logger.debug(
53
60
  msg: "Did not claim job, avoided race condition",
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ductwork
4
- VERSION = "0.6.1"
4
+ VERSION = "0.7.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ductwork
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tyler Ewing