28 lines
1.1 KiB
JavaScript
28 lines
1.1 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.runHealthScript = void 0;
|
|
const index_1 = require("./index");
|
|
/**
|
|
* Running a health script, is used when we want to have a simple
|
|
* script in bash or something like that. It should return something that is useful
|
|
* in {result: string} else it is considered an error
|
|
* @param param0
|
|
* @returns
|
|
*/
|
|
const runHealthScript = async (runCommand, subcontainer, { timeout = 30000, errorMessage = `Error while running command: ${runCommand}`, message = (res) => `Have ran script ${runCommand} and the result: ${res}`, } = {}) => {
|
|
const res = await Promise.race([
|
|
subcontainer.execFail(runCommand),
|
|
(0, index_1.timeoutPromise)(timeout),
|
|
]).catch((e) => {
|
|
console.warn(errorMessage);
|
|
console.warn(JSON.stringify(e));
|
|
console.warn(e.toString());
|
|
throw { result: 'failure', message: errorMessage };
|
|
});
|
|
return {
|
|
result: 'success',
|
|
message: message(res.stdout.toString()),
|
|
};
|
|
};
|
|
exports.runHealthScript = runHealthScript;
|
|
//# sourceMappingURL=runHealthScript.js.map
|