From 85d8e6f220eacf2f1cd94b72a7b5ebc8ab3991ca Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 27 May 2019 17:23:05 +0900 Subject: Refactoring --- src/daemons/queue-stats.ts | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) (limited to 'src/daemons/queue-stats.ts') diff --git a/src/daemons/queue-stats.ts b/src/daemons/queue-stats.ts index f9ba90a0b7..e560354c74 100644 --- a/src/daemons/queue-stats.ts +++ b/src/daemons/queue-stats.ts @@ -1,6 +1,6 @@ import * as Deque from 'double-ended-queue'; import Xev from 'xev'; -import { deliverQueue, inboxQueue } from '../queue'; +import { deliverQueue, inboxQueue, dbQueue, objectStorageQueue } from '../queue'; const ev = new Xev(); @@ -18,6 +18,8 @@ export default function() { let activeDeliverJobs = 0; let activeInboxJobs = 0; + let activeDbJobs = 0; + let activeObjectStorageJobs = 0; deliverQueue.on('global:active', () => { activeDeliverJobs++; @@ -27,9 +29,19 @@ export default function() { activeInboxJobs++; }); + dbQueue.on('global:active', () => { + activeDbJobs++; + }); + + objectStorageQueue.on('global:active', () => { + activeObjectStorageJobs++; + }); + async function tick() { const deliverJobCounts = await deliverQueue.getJobCounts(); const inboxJobCounts = await inboxQueue.getJobCounts(); + const dbJobCounts = await dbQueue.getJobCounts(); + const objectStorageJobCounts = await objectStorageQueue.getJobCounts(); const stats = { deliver: { @@ -43,7 +55,19 @@ export default function() { active: inboxJobCounts.active, waiting: inboxJobCounts.waiting, delayed: inboxJobCounts.delayed - } + }, + db: { + activeSincePrevTick: activeDbJobs, + active: dbJobCounts.active, + waiting: dbJobCounts.waiting, + delayed: dbJobCounts.delayed + }, + objectStorage: { + activeSincePrevTick: activeObjectStorageJobs, + active: objectStorageJobCounts.active, + waiting: objectStorageJobCounts.waiting, + delayed: objectStorageJobCounts.delayed + }, }; ev.emit('queueStats', stats); @@ -53,6 +77,8 @@ export default function() { activeDeliverJobs = 0; activeInboxJobs = 0; + activeDbJobs = 0; + activeObjectStorageJobs = 0; } tick(); -- cgit v1.2.3-freya