Home Reference Source

js-junk-bucket-repo/service.js

const yargs = require("yargs");
const {formattedConsoleLog} = require("./logging-bunyan");
const {main} = require("./index");

async function doServiceStart( factory, logger ){
	const instance = await factory.launch(logger);

	function stopInstance(){
		instance.stop();
	}

	process.on("SIGINT", stopInstance);
	process.on("SIGTERM", stopInstance);
}

function service( name, factory ){
	const logger = formattedConsoleLog( name );
	main( async () => await doServiceStart(factory, logger), logger );
}

module.exports = {
	service
};