Skip to content

Commit 654317b

Browse files
committed
Fix pruned attribute on deregister_process event
It was being set to the whole payload ^_^U Also, use iso8601 format for dates in log events.
1 parent ac477d7 commit 654317b

File tree

2 files changed

+23
-9
lines changed

2 files changed

+23
-9
lines changed

lib/solid_queue/log_subscriber.rb

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ def release_blocked(event)
4040
end
4141

4242
def enqueue_recurring_task(event)
43-
attributes = event.payload.slice(:task, :active_job_id, :enqueue_error, :at)
43+
attributes = event.payload.slice(:task, :active_job_id, :enqueue_error)
44+
attributes[:at] = event.payload[:at]&.iso8601
4445

4546
if event.payload[:other_adapter]
4647
action = attributes[:active_job_id].present? ? "Enqueued recurring task outside Solid Queue" : "Error enqueuing recurring task"
@@ -96,9 +97,9 @@ def deregister_process(event)
9697
process_id: process.id,
9798
pid: process.pid,
9899
hostname: process.hostname,
99-
last_heartbeat_at: process.last_heartbeat_at,
100+
last_heartbeat_at: process.last_heartbeat_at.iso8601,
100101
claimed_size: process.claimed_executions.size,
101-
pruned: event.payload
102+
pruned: event.payload[:pruned]
102103
}
103104

104105
if error = event.payload[:error]

test/unit/log_subscriber_test.rb

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,23 +28,36 @@ def set_logger(logger)
2828

2929
test "recurring task enqueued succesfully" do
3030
attach_log_subscriber
31-
instrument "enqueue_recurring_task.solid_queue", task: :example_task, active_job_id: "b944ddbc-6a37-43c0-b661-4b56e57195f5", at: Time.now
31+
time = Time.now
32+
instrument "enqueue_recurring_task.solid_queue", task: :example_task, active_job_id: "b944ddbc-6a37-43c0-b661-4b56e57195f5", at: time
3233

33-
assert_match_logged :info, "Enqueued recurring task", "task: :example_task, active_job_id: \"b944ddbc-6a37-43c0-b661-4b56e57195f5\""
34+
assert_match_logged :info, "Enqueued recurring task", "task: :example_task, active_job_id: \"b944ddbc-6a37-43c0-b661-4b56e57195f5\", at: \"#{time.iso8601}\""
3435
end
3536

3637
test "recurring task skipped" do
3738
attach_log_subscriber
38-
instrument "enqueue_recurring_task.solid_queue", task: :example_task, skipped: true, at: Time.now
39+
time = Time.now
40+
instrument "enqueue_recurring_task.solid_queue", task: :example_task, skipped: true, at: time
3941

40-
assert_match_logged :info, "Skipped recurring task – already dispatched", "task: :example_task"
42+
assert_match_logged :info, "Skipped recurring task – already dispatched", "task: :example_task, at: \"#{time.iso8601}\""
4143
end
4244

4345
test "error enqueuing recurring task" do
4446
attach_log_subscriber
45-
instrument "enqueue_recurring_task.solid_queue", task: :example_task, enqueue_error: "Everything is broken", at: Time.now
47+
time = Time.now
48+
instrument "enqueue_recurring_task.solid_queue", task: :example_task, enqueue_error: "Everything is broken", at: time
4649

47-
assert_match_logged :info, "Error enqueuing recurring task", "task: :example_task, enqueue_error: \"Everything is broken\""
50+
assert_match_logged :info, "Error enqueuing recurring task", "task: :example_task, enqueue_error: \"Everything is broken\", at: \"#{time.iso8601}\""
51+
end
52+
53+
test "deregister process" do
54+
process = SolidQueue::Process.register(kind: "Worker", pid: 42, hostname: "localhost")
55+
last_heartbeat_at = process.last_heartbeat_at.iso8601
56+
57+
attach_log_subscriber
58+
instrument "deregister_process.solid_queue", process: process, pruned: false
59+
60+
assert_match_logged :info, "Deregister Worker", "process_id: #{process.id}, pid: 42, hostname: \"localhost\", last_heartbeat_at: \"#{last_heartbeat_at}\", claimed_size: 0, pruned: false"
4861
end
4962

5063
private

0 commit comments

Comments
 (0)