gouda 0.1.7 → 0.1.8

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: ec67da4c5d0dc236c02b65c770e87fe4a0a967eef8df50f0cb4ae452077f3bdb
4
- data.tar.gz: 6089a03c99a944fcfedbe623810c72b513c52e2fe9afd698904ccab1f7cc3aa3
3
+ metadata.gz: 760773cc030761badbc847c89278a501588ba47ff6106c8d4a3a71ae30aebaac
4
+ data.tar.gz: 5039b969fc5f258a898ab66c1f617d4bfdaa33bc29d69f285fd875e1e60617fe
5
5
  SHA512:
6
- metadata.gz: bb445a3c45a28d47f29124775f8f2f8c2cc9be8c6fb1069c8c3f1d00eca8269ca53d897c2cb069962bec90ee6b8b9916af133558b0692a3a64d46e3666fbb6f4
7
- data.tar.gz: 3e82a95cf5f6107a8f9f7874a93d4bbbc58ac9a6badb2f684edca870cf6fbd3512be37299b192dcbb7a68a4be9fb638ea89af88625ae70459f1334a03b541407
6
+ metadata.gz: c29cd1f3ea3ccba5b7995c3d32aed5c9a27d10b7609bee622edd7766ba2acee17a875b1a48f35e24d9bec42e7353f38451c35b79ae970994128ca2931a2e7ff1
7
+ data.tar.gz: 2c70d0d7a0a989c3d6e52ab87df3287831561a50e0ef766d4d18cf21939f06e47f19de48dd480ed2acffc340f727ad046a67e7cc6d6e37dfc3963f181f8742d8
data/CHANGELOG.md CHANGED
@@ -36,3 +36,7 @@
36
36
  ## [0.1.7] - 2023-06-21
37
37
 
38
38
  - Separate all instrumentation to use ActiveSupport::Notification
39
+
40
+ ## [0.1.8] - 2023-06-21
41
+
42
+ - Move some missed instrumentations to Gouda.instrument
data/lib/gouda/adapter.rb CHANGED
@@ -83,7 +83,7 @@ class Gouda::Adapter
83
83
  # Use batches of 500 so that we do not exceed the maximum statement size or do not create a transaction for the
84
84
  # insert which times out
85
85
  inserted_ids_and_positions = bulk_insert_attributes.each_slice(500).flat_map do |chunk|
86
- Gouda.instrument(:insert_all, n_rows: chunk.size) do |payload|
86
+ Gouda.instrument(:insert_all, {n_rows: chunk.size}) do |payload|
87
87
  rows = Gouda::Workload.insert_all(chunk, returning: [:id, :position_in_bulk])
88
88
  payload[:inserted_jobs] = rows.length
89
89
  payload[:rejected_jobs] = chunk.size - rows.length
data/lib/gouda/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Gouda
4
- VERSION = "0.1.7"
4
+ VERSION = "0.1.8"
5
5
  end
data/lib/gouda/worker.rb CHANGED
@@ -163,7 +163,7 @@ module Gouda
163
163
  # Find jobs which just hung and clean them up (mark them as "finished" and enqueue replacement workloads if possible)
164
164
  Gouda::Workload.reap_zombie_workloads
165
165
  rescue => e
166
- Gouda.instrument(:exception, exception: e)
166
+ Gouda.instrument(:exception, {exception: e})
167
167
 
168
168
  warn "Uncaught exception during housekeeping (#{e.class} - #{e}"
169
169
  end
@@ -63,7 +63,7 @@ class Gouda::Workload < ActiveRecord::Base
63
63
  workload.with_lock("FOR UPDATE SKIP LOCKED") do
64
64
  Gouda.logger.info { "Reviving (re-enqueueing) Gouda workload #{workload.id} after interruption" }
65
65
 
66
- Gouda.instrument(:workloads_revived_counter, size: 1, job_class: workload.active_job_class_name)
66
+ Gouda.instrument(:workloads_revived_counter, {size: 1, job_class: workload.active_job_class_name})
67
67
 
68
68
  interrupted_at = workload.last_execution_heartbeat_at
69
69
  workload.update!(state: "finished", interrupted_at: interrupted_at, last_execution_heartbeat_at: Time.now.utc, execution_finished_at: Time.now.utc)
@@ -110,7 +110,7 @@ class Gouda::Workload < ActiveRecord::Base
110
110
  .lock("FOR UPDATE SKIP LOCKED")
111
111
  .limit(1)
112
112
 
113
- _first_available_workload = Gouda.instrument(:checkout_and_lock_one, queue_constraint: queue_constraint.to_sql) do |payload|
113
+ _first_available_workload = ActiveSupport::Notifications.instrument(:checkout_and_lock_one, {queue_constraint: queue_constraint.to_sql}) do |payload|
114
114
  payload[:condition_sql] = jobs.to_sql
115
115
  payload[:retried_checkouts_due_to_concurrent_exec] = 0
116
116
  uncached do # Necessary because we SELECT with a clock_timestamp() which otherwise gets cached by ActiveRecord query cache
@@ -147,7 +147,7 @@ class Gouda::Workload < ActiveRecord::Base
147
147
  end
148
148
 
149
149
  def perform_and_update_state!
150
- ActiveSupport::Notifications.instrument("perform_job.gouda", {workload: self}) do |instrument_payload|
150
+ Gouda.instrument(:perform_job, {workload: self}) do |instrument_payload|
151
151
  extras = {}
152
152
  if Gouda::JobFuse.exists?(active_job_class_name: active_job_class_name)
153
153
  extras[:error] = {class_name: "WorkloadSkippedError", message: "Skipped because of a fuse at #{Time.now.utc}"}
data/lib/gouda.rb CHANGED
@@ -70,8 +70,8 @@ module Gouda
70
70
  Gouda.config.logger
71
71
  end
72
72
 
73
- def self.instrument(channel, **options, &block)
74
- ActiveSupport::Notifications.instrument("#{channel}.gouda", **options, &block)
73
+ def self.instrument(channel, options, &block)
74
+ ActiveSupport::Notifications.instrument("#{channel}.gouda", options, &block)
75
75
  end
76
76
 
77
77
 
@@ -647,7 +647,7 @@ class GoudaTest < ActiveSupport::TestCase
647
647
 
648
648
  test "instrumentation" do
649
649
  payload = subscribed_notification_for("workloads_revived_counter.gouda") do
650
- Gouda.instrument(:workloads_revived_counter, size: 1, job_class: "test_class")
650
+ Gouda.instrument(:workloads_revived_counter, {size: 1, job_class: "test_class"})
651
651
  end
652
652
 
653
653
  assert_equal "test_class", payload[:job_class]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gouda
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sebastian van Hesteren