Commit 770e57599f94ec7c5622c534f8fae52a7fc3bac3

Authored by Adhidarma Hadiwinoto
1 parent 1a0da16079
Exists in master

spoolCount

Showing 2 changed files with 22 additions and 0 deletions Side-by-side Diff

lib/apiserver/routers/smstools.js
... ... @@ -44,7 +44,19 @@ function pageLog(req, res) {
44 44 });
45 45 }
46 46  
  47 +async function pageSpoolCount(req, res) {
  48 + const outgoingCount = await smstoolsUtil.fileCountOnDir('/var/spool/sms/outgoing');
  49 + const checkedCount = await smstoolsUtil.fileCountOnDir('/var/spool/sms/checked');
  50 +
  51 + res.json({
  52 + outgoingCount,
  53 + checkedCount,
  54 + totalQueueCount: Number(outgoingCount) + Number(checkedCount),
  55 + });
  56 +}
  57 +
47 58 router.get('/status', pageStatus);
48 59 router.get('/status/raw', pageStatusRaw);
49 60 router.get('/restart', pageRestart);
50 61 router.get('/log', pageLog);
  62 +router.get('/spool-count', pageSpoolCount);
lib/smstools-util.js
  1 +const fs = require('fs');
1 2 const childProcess = require('child_process');
2 3 const config = require('komodo-sdk/config');
3 4  
... ... @@ -11,3 +12,12 @@ exports.restart = () => new Promise((resolve) => {
11 12 });
12 13 });
13 14 });
  15 +
  16 +exports.fileCountOnDir = async (dirname) => {
  17 + try {
  18 + const files = fs.promises.readdir(dirname);
  19 + return files.filter((item) => item.search(/LOCK$/) >= 0).length;
  20 + } catch (e) {
  21 + return null;
  22 + }
  23 +};