Skip to content

Commit

Permalink
Remove dependency on broadway (#1098)
Browse files Browse the repository at this point in the history
  • Loading branch information
kibertoad committed Nov 21, 2020
1 parent 3586afe commit c1bcbff
Show file tree
Hide file tree
Showing 4 changed files with 153 additions and 96 deletions.
27 changes: 23 additions & 4 deletions lib/forever.js
Expand Up @@ -8,6 +8,7 @@

const fs = require("fs"),
path = require("path"),
events2 = require('eventemitter2'),
events = require("events"),
exec = require("child_process").exec,
spawn = require("child_process").spawn,
Expand All @@ -22,6 +23,24 @@ const fs = require("fs"),

const forever = exports;

const nodeVersion = process.versions.node
function getNodeVersion() {
const versionNumbers = nodeVersion.split('.')
return {
majorVersion: Number.parseInt(versionNumbers[0]),
minorVersion: Number.parseInt(versionNumbers[1]),
patchVersion: Number.parseInt(versionNumbers[2]),
}
}

const versionNumbers = getNodeVersion();
function newEmitter() {
if (versionNumbers.majorVersion > 6) {
return new events.EventEmitter()
}
return new events2.EventEmitter2()
}

//
// Setup `forever.log` to be a custom `winston` logger.
//
Expand Down Expand Up @@ -164,7 +183,7 @@ function getAllPids(processes) {
// Returns emitter that you can use to handle events on failure or success (i.e 'error' or <event>)
//
function stopOrRestart(action, event, format, target) {
const emitter = new events.EventEmitter();
const emitter = newEmitter();

function sendAction(proc, next) {
const socket = new nssocket.NsSocket();
Expand All @@ -181,8 +200,8 @@ function stopOrRestart(action, event, format, target) {
// Messages are only sent back from error cases. The event
// calling context is available from `nssocket`.
//
const message = data && data.message,
type = this.event.slice().pop();
const message = data && data.message
const type = this.event.slice().pop();

//
// Remark (Tjatse): This message comes from `forever-monitor`, the process is marked
Expand Down Expand Up @@ -808,7 +827,7 @@ forever.format = function (format, procs) {
// config, and log files used by forever.
//
forever.cleanUp = function (cleanLogs, allowManager) {
const emitter = new events.EventEmitter(),
const emitter = newEmitter(),
pidPath = forever.config.get("pidPath");

getAllProcesses(function (err, processes) {
Expand Down

0 comments on commit c1bcbff

Please sign in to comment.