'use strict' /** * Copyright (c) 2017~2020, OBCon Inc. * All rights reserved. */ /** * @file * @copyright 2017~2020, OBCon Inc. * @author gye hyun james kim [pnuskgh@gmail.com] */ //--- Module별로 Model과 View 정의 require(utils.getCustomPath('modules', 'modules.js')); logger.debug('cms_batch_app.js : Module별로 Model과 View 정의'); //--- Settings 정의 // global.settings = utils.getModule('include', 'settings.js'); global.settingSync = utils.getModule('include', 'settings.js'); logger.debug('cms_batch_app.js : Settings 정의'); try { setTimeout(function() { let jobBatch = null; switch(config.batch.path.length) { case 1: jobBatch = utils.getModule(config.batch.path[0]); break; case 2: jobBatch = utils.getModule(config.batch.path[0], config.batch.path[1]); break; case 3: jobBatch = utils.getModule(config.batch.path[0], config.batch.path[1], config.batch.path[2]); break; case 4: jobBatch = utils.getModule(config.batch.path[0], config.batch.path[1], config.batch.path[2], config.batch.path[3]); break; case 5: jobBatch = utils.getModule(config.batch.path[0], config.batch.path[1], config.batch.path[2], config.batch.path[3], config.batch.path[4]); break; default: logger.error(`실행할 batch 파일을 올바르게 지정 하세요 - ${config.batch.path.join('/')}`); process.exit(0); } logger.info(`Start batch - ${config.batch.path.join('/')}`); jobBatch.batchJob(config.batch.options, function(code, message) { logger.info(`Batch job complete : code - ${code}, message - [${message}]`); //--- Batch 작업 내에서 호출한 작업이 완료할 때까지 대기한 후 메인 프로그램을 종료 한다. setTimeout(function() { process.exit(0); }, config.batch.waitTime * 1000); }); }, 1000); } catch (e) { logger.error('cms_batch_app.js : ' + e.name + ': ' + e.message); logger.error(e.name + ': ' + e.message); logger.error(e.stack); process.exit(1); }