@squareboat/nest-queue
Version:
The queue package for your NestJS Applications
111 lines (110 loc) • 5.29 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.QueueConsoleCommands = void 0;
const common_1 = require("@nestjs/common");
const nest_console_1 = require("@squareboat/nest-console");
const worker_1 = require("../worker");
let QueueConsoleCommands = class QueueConsoleCommands {
startQueueWork(_cli) {
return __awaiter(this, void 0, void 0, function* () {
const sleep = _cli.option("sleep");
const connection = _cli.option("connection");
const queue = _cli.option("queue");
const options = {};
if (sleep)
options["sleep"] = sleep;
if (connection)
options["connection"] = connection;
if (queue)
options["queue"] = queue;
_cli.info("Starting queue worker");
yield worker_1.QueueWorker.init(options).listen();
return;
});
}
getQueueLength(_cli) {
return __awaiter(this, void 0, void 0, function* () {
const sleep = _cli.option("sleep");
const connection = _cli.option("connection");
const queue = _cli.option("queue");
const options = {};
if (sleep)
options["sleep"] = sleep;
if (connection)
options["connection"] = connection;
if (queue)
options["queue"] = queue;
const response = yield worker_1.QueueWorker.init(options).count();
_cli.info(`Number of messages in queue is ${response}`);
return;
});
}
purgeQueue(_cli) {
return __awaiter(this, void 0, void 0, function* () {
const sleep = _cli.option("sleep");
const connection = _cli.option("connection");
const queue = _cli.option("queue");
const options = {};
if (sleep)
options["sleep"] = sleep;
if (connection)
options["connection"] = connection;
if (queue)
options["queue"] = queue;
const answer = yield _cli.ask(`Do you really want to purge queue? Please be sure as this action is irreversible!\nWrite "yes,delete it" to purge the queue`);
if (answer === "yes,delete it") {
yield worker_1.QueueWorker.init(options).purge();
_cli.info(" queue succesfully purged ");
return;
}
_cli.error(" wrong key, exiting... ");
return;
});
}
};
__decorate([
(0, nest_console_1.Command)("queue:work {--sleep=} {--connection=} {--queue=}", {
desc: "Command to run the queue worker, starts processing the jobs",
}),
__metadata("design:type", Function),
__metadata("design:paramtypes", [nest_console_1.ConsoleIO]),
__metadata("design:returntype", Promise)
], QueueConsoleCommands.prototype, "startQueueWork", null);
__decorate([
(0, nest_console_1.Command)("queue:length {--sleep=} {--connection=} {--queue=}", {
desc: "Command to get the length of the specified queue",
}),
__metadata("design:type", Function),
__metadata("design:paramtypes", [nest_console_1.ConsoleIO]),
__metadata("design:returntype", Promise)
], QueueConsoleCommands.prototype, "getQueueLength", null);
__decorate([
(0, nest_console_1.Command)("queue:purge {--sleep=} {--connection=} {--queue=}", {
desc: "Command to purge the queue",
}),
__metadata("design:type", Function),
__metadata("design:paramtypes", [nest_console_1.ConsoleIO]),
__metadata("design:returntype", Promise)
], QueueConsoleCommands.prototype, "purgeQueue", null);
QueueConsoleCommands = __decorate([
(0, common_1.Injectable)()
], QueueConsoleCommands);
exports.QueueConsoleCommands = QueueConsoleCommands;