summaryrefslogtreecommitdiff
path: root/src/daemons/queue-stats.ts
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2019-05-27 17:23:05 +0900
committersyuilo <syuilotan@yahoo.co.jp>2019-05-27 17:23:05 +0900
commit85d8e6f220eacf2f1cd94b72a7b5ebc8ab3991ca (patch)
tree1e291da8cc89d386c1d559f6c39977c22ccc5cfc /src/daemons/queue-stats.ts
parentImprove drive management (diff)
downloadsharkey-85d8e6f220eacf2f1cd94b72a7b5ebc8ab3991ca.tar.gz
sharkey-85d8e6f220eacf2f1cd94b72a7b5ebc8ab3991ca.tar.bz2
sharkey-85d8e6f220eacf2f1cd94b72a7b5ebc8ab3991ca.zip
Refactoring
Diffstat (limited to 'src/daemons/queue-stats.ts')
-rw-r--r--src/daemons/queue-stats.ts30
1 files changed, 28 insertions, 2 deletions
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();