25 lines
669 B
JavaScript
25 lines
669 B
JavaScript
// variables
|
|
const services = { start: {}, stop: {}, restart: {}, status: {} };
|
|
const serviceNames = ['mysql','websocket','logger','scheduler'];
|
|
|
|
// dynamic manager
|
|
['start', 'stop', 'status'].forEach(action => {
|
|
serviceNames.forEach(name => {
|
|
services[action][name] = async () => {
|
|
const file = `./${name}/${action}.js`;
|
|
const func = require(file);
|
|
return await func();
|
|
};
|
|
});
|
|
});
|
|
|
|
// restart function
|
|
serviceNames.forEach(name => {
|
|
services.restart[name] = async () => {
|
|
await services.stop[name]();
|
|
await services.start[name]();
|
|
};
|
|
});
|
|
|
|
// function export
|
|
module.exports = services; |