1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- import async from "async";
- import { isAdminRequired } from "./hooks";
- import moduleManager from "../../index";
- const UtilsModule = moduleManager.modules.utils;
- export default {
- getModules: isAdminRequired(function getModules(session, cb) {
- async.waterfall(
- [
- next => {
- next(null, UtilsModule.moduleManager.modules);
- },
- (modules, next) => {
- // this.log(modules, next);
- next(
- null,
- Object.keys(modules).map(moduleName => {
- const module = modules[moduleName];
- return {
- name: module.name,
- status: module.status,
- stage: module.stage,
- jobsInQueue: module.jobQueue.lengthQueue(),
- jobsInProgress: module.jobQueue.lengthRunning(),
- jobsPaused: module.jobQueue.lengthPaused(),
- concurrency: module.jobQueue.concurrency
- };
- })
- );
- }
- ],
- async (err, modules) => {
- if (err && err !== true) {
- err = await UtilsModule.runJob("GET_ERROR", { error: err }, this);
- this.log("ERROR", "GET_MODULES", `User ${session.userId} failed to get modules. '${err}'`);
- cb({ status: "failure", message: err });
- } else {
- this.log("SUCCESS", "GET_MODULES", `User ${session.userId} has successfully got the modules info.`);
- cb({
- status: "success",
- message: "Successfully got modules.",
- modules
- });
- }
- }
- );
- }),
- getModule: isAdminRequired(function getModule(session, moduleName, cb) {
- async.waterfall(
- [
- next => {
- next(null, UtilsModule.moduleManager.modules[moduleName]);
- }
- ],
- async (err, module) => {
- // this.log(module.runningJobs);
- if (err && err !== true) {
- err = await UtilsModule.runJob("GET_ERROR", { error: err }, this);
- this.log("ERROR", "GET_MODULE", `User ${session.userId} failed to get module. '${err}'`);
- cb({ status: "failure", message: err });
- } else {
- this.log("SUCCESS", "GET_MODULE", `User ${session.userId} has successfully got the module info.`);
- cb({
- status: "success",
- message: "Successfully got module info.",
- // runningTasks: module.jobQueue.runningTasks,
- // pausedTasks: module.jobQueue.pausedTasks,
- // queuedTasks: module.jobQueue.queue,
- jobStatistics: module.jobStatistics
- });
- }
- }
- );
- })
- };
|