pandora
Version:
37 lines • 1.73 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
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) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const assert = require("assert");
/**
* Class ClusterSupport
*/
class ClusterSupport {
/**
* Make a shim procfile.js when start mode be cluster, to support the start mode cluster
* @param {ApplicationRepresentation} appRepresentation
* @param {ProcfileReconciler} procfileReconciler
*/
static attachShimProcfile(appRepresentation, procfileReconciler) {
assert(appRepresentation.mode === 'cluster', 'Only mode === cluster can call static method attachShimProcfile()');
procfileReconciler.callProcfile((pandora) => {
class UserEntryWrapper {
start() {
return __awaiter(this, void 0, void 0, function* () {
require(appRepresentation.entryFile);
});
}
}
pandora.process('worker').scale(appRepresentation.scale);
pandora.applet(UserEntryWrapper).process('worker');
});
}
}
exports.ClusterSupport = ClusterSupport;
//# sourceMappingURL=ClusterSupport.js.map