@grouparoo/core
Version:
The Grouparoo Core
31 lines (30 loc) • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.StatusSample = void 0;
const actionhero_1 = require("actionhero");
const clsTask_1 = require("../../../classes/tasks/clsTask");
const apiData_1 = require("../../../modules/apiData");
const status_1 = require("../../../modules/status");
class StatusSample extends clsTask_1.CLSTask {
constructor() {
super(...arguments);
this.name = "status:sample";
this.description = "Calculate and set one of the status samples";
this.frequency = 0;
this.queue = "system";
this.inputs = {
index: { required: true, formatter: apiData_1.APIData.ensureNumber },
};
}
async runWithinTransaction({ index }) {
const method = status_1.Status.statusSampleReporters[index];
if (!method)
return;
const response = await method();
const metrics = await status_1.Status.set(response);
await actionhero_1.chatRoom.broadcast({}, "system:status", {
metrics,
});
}
}
exports.StatusSample = StatusSample;