UNPKG

wakaq

Version:

Background task queue for Node backed by Redis, a super minimal Celery

45 lines (44 loc) 1.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Child = void 0; class Child { constructor(wakaq, process) { this.done = false; this.softTimeoutReached = false; this.outputBuffer = ''; this._sigtermSent = false; this._sigquitSent = false; this.process = process; this.lastPing = Math.round(Date.now() / 1000); this.softTimeout = wakaq.softTimeout; this.hardTimeout = wakaq.hardTimeout; } sigterm() { if (this._sigtermSent) return; this.process.kill('SIGTERM'); this._sigtermSent = true; } sigkill() { this.process.kill('SIGKILL'); } sigquit() { if (this._sigquitSent) return; this.process.kill('SIGQUIT'); this._sigquitSent = true; } setTimeouts(wakaq, task, queue) { this.softTimeout = wakaq.softTimeout; this.hardTimeout = wakaq.hardTimeout; if (task && task.softTimeout) this.softTimeout = task.softTimeout; else if (queue && queue.softTimeout) this.softTimeout = queue.softTimeout; if (task && task.hardTimeout) this.hardTimeout = task.hardTimeout; else if (queue && queue.hardTimeout) this.hardTimeout = queue.hardTimeout; } } exports.Child = Child;