我需要访问公牛队列来查看工作统计并在页面上显示。我bull-repl
用来从 CLI 访问队列,如下所示:
> bull-repl
BULL-REPL> connect marathon reddis://localhost:6379
Connected to reddis://localhost:6379, queue: marathon
BULL-REPL | marathon> stats
┌───────────┬────────┐
│ (index) │ Values │
├───────────┼────────┤
│ waiting │ 0 │
│ active │ 0 │
│ completed │ 55 │
│ failed │ 1 │
│ delayed │ 0 │
│ paused │ 0 │
└───────────┴────────┘
我正在尝试使用以下代码从 JS 做同样的事情:
const shell = require('shelljs');
const ccommandExistsSync = require('command-exists').sync;
function installBullRepl(){
if(ccommandExistsSync('bull-repl')){
queueStats();
} else{
shell.exec('npm i -g bull-repl');
queueStats();
}
}
function queueStats(){
let stats;
shell.exec('bull-repl'); // launch `bull-repl`
shell.exec('connect marathon reddis://localhost:6379'); // connect to redis instance
stats = shell.exec(`stats`); // display count of jobs by groups
return stats;
}
installBullRepl();
第一个 shell.exec 运行,正在启动bull-repl
,但需要在工具内运行的其余代码永远不会执行,我认为这是因为shelljs
独立运行每个命令。如何让最后两个命令在工具中运行?