Skip to content

Commit 5fcc5bd

Browse files
committed
fix(live-flow): resolve job node queue ids through the rendered graph id
1 parent 9ad702c commit 5fcc5bd

2 files changed

Lines changed: 12 additions & 5 deletions

File tree

dist/app.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

resources/js/screens/live-flow.vue

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -172,9 +172,8 @@
172172
const midY = H / 2;
173173
174174
const queues = this.filteredQueues.map((queue, i) => {
175-
const node = this.findQueueNode(queue);
176175
return {
177-
id: node?.id ?? this.queueNodeId(queue),
176+
id: this.queueGraphId(queue),
178177
type: 'queue', label: queue.name, sub: this.queueSubLabel(queue),
179178
status: this.queueStatus(queue),
180179
x: 205, y: this.distributedY(i, this.filteredQueues.length, qYMin, qYMax),
@@ -324,7 +323,7 @@
324323
let jobClass = null;
325324
326325
if (node.type === 'job') {
327-
queue = this.queues.find(q => this.queueNodeId(q) === node.queueId) ?? null;
326+
queue = this.queues.find(q => this.queueGraphId(q) === node.queueId) ?? null;
328327
if (queue) {
329328
jobClass = this.queueJobClasses(queue).find(c => c.name === node.name) ?? null;
330329
}
@@ -674,7 +673,7 @@
674673
675674
queueJobNodes() {
676675
return this.filteredQueues.flatMap(queue => {
677-
const queueId = this.queueNodeId(queue);
676+
const queueId = this.queueGraphId(queue);
678677
679678
if (this.zoom >= 1.35) {
680679
return (queue.jobs ?? [])
@@ -806,6 +805,14 @@
806805
return `queue-${queue.driver}-${queue.connection}-${queue.name}`.replace(/[^a-z0-9-]+/gi, '-').toLowerCase();
807806
},
808807
808+
// The graph node id a queue actually renders under: the backend's id
809+
// when the payload carries one, otherwise the local fallback. Job
810+
// nodes and the inspector must resolve queues through the same id,
811+
// or their edges never connect to the queue they belong to.
812+
queueGraphId(queue) {
813+
return this.findQueueNode(queue)?.id ?? this.queueNodeId(queue);
814+
},
815+
809816
queueStatus(queue) {
810817
if (this.queueFailedInWindow(queue) > 0) return 'critical';
811818
if (queue.wait_seconds >= 30 || queue.pending >= 500) return 'critical';

0 commit comments

Comments
 (0)