8000 feat(cli): add queue:status command · openupm/openupm@b05537b · GitHub
[go: up one dir, main page]

Skip to content

Commit

Permalink
feat(cli): add queue:status command
Browse files Browse the repository at this point in the history
  • Loading branch information
favoyang committed Feb 12, 2020
1 parent 9032d34 commit b05537b
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 1 deletion.
45 changes: 45 additions & 0 deletions app/queues/showStatus.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
// Show queue status
const redis = require("../db/redis");

// Show queue status
const showQueueStatus = async function(queueName) {
const statusList = [
{ name: "waiting", type: "list" },
{ name: "active", type: "list" },
{ name: "succeeded", type: "set" },
{ name: "failed", type: "set" },
{ name: "delayed", type: "sorted-set" },
{ name: "stalling", type: "set" },
{ name: "stallBlock", type: "set" }
];
for (const status of statusList) {
let ls = null;
if (status.type == "list")
ls = await redis.client.lrange(`bq:${queueName}:${status.name}`, 0, -1);
else if (status.type == "set")
ls = await redis.client.smembers(`bq:${queueName}:${status.name}`);
else if (status.type == "sorted-set")
ls = await redis.client.zrange(`bq:${queueName}:${status.name}`, 0, -1);
if (ls == null) continue;
ls = Array.from(ls);
if (ls.length) {
console.log(`${status.name}:`);
for (const item of ls) console.log(` ${item}`);
}
}
};

module.exports = { showQueueStatus };

if (require.main === module) {
let program = require("../utils/commander");
let _queueName = null;
program
.arguments("<queueName>")
.action(queueName => {
_queueName = queueName;
})
.parse(process.argv)
.requiredArgs(1)
.run(showQueueStatus, _queueName);
}
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@
"docs:dev": "vuepress dev docs --temp .temp",
"docs:build": "vuepress build docs",
"docs:serve": "serve ./docs/.vuepress/dist",
"queue:main": "node ./app/queues/process main",
"queue:process": "node ./app/queues/process main",
"queue:status": "node ./app/queues/showStatus main",
"pkg:build": "node ./app/jobs/addBuildPackageJob.js",
"pkg:check": "node ./app/jobs/checkPackage.js",
"pkg:fetch-extra": "node ./app/jobs/fetchPackageExtra.js",
Expand Down

0 comments on commit b05537b

Please sign in to comment.
0