[TIC-Web] bug fixed. only one job runned. 31/127631/3
authorHeekyoung, Oh <heekyoung.oh@samsung.com>
Fri, 28 Apr 2017 06:19:09 +0000 (15:19 +0900)
committerHeekyoung, Oh <heekyoung.oh@samsung.com>
Fri, 28 Apr 2017 06:48:08 +0000 (15:48 +0900)
- bug fixed.

Change-Id: I12592a8f83d5cbdc5d37985b9f071bed2a6d1361
Signed-off-by: Heekyoung, Oh <heekyoung.oh@samsung.com>
controller/dbquery.js
controller/mic.js
public/src/js/page/job.js

index 8966db3..433d4fb 100644 (file)
@@ -489,6 +489,22 @@ mariadb.editImage = function editImage(req, res) {
     this.doQuery(queryString).then(onSuccess);
 };
 
+mariadb.updateJobStatus = function updateJobStatus(paramObj, callback) {
+    var queryString = [
+        'update tic_job set',
+        ' job_status = "<%= jobStatus %>"',
+        ' where job_id = "<%= jobID %>";'
+    ];
+    queryString = _.template(_.join(queryString, ''))({
+        jobStatus: paramObj.jobStatus,
+        jobID: paramObj.jobID
+    });
+    logger.info('updateJobStatus: query = ' + queryString);
+    // call
+    this.doQuery(queryString).then(callback);
+};
 
 /**
  * User
index 597c94f..92533eb 100644 (file)
@@ -31,6 +31,8 @@ var PROCESS_CNT_MAX = 4;
 var PROCESS_CNT_MIN = 0;
 var PROCESS_CNT_ONE = 1;
 
+var MIC_PROCESS = 0;
+
 var Mic = {};
 
 Mic.hasNextJob = function hasNextJob(callback) {
@@ -80,8 +82,19 @@ Mic.kill = function kill(paramObj) {
 
 Mic.process = function process(command, callback, jobId) {
     var ps, psOptions;
+
     // execution
     ps = exec(command);
+
+    if (ps) {
+        client.updateJobStatus({
+            jobStatus: 'INPROGRESS',
+            jobID: jobId
+        }, function () {
+            loggeer.info('client.updateJobStatus');
+        });
+    }
+
     ps.stdout.on('data', callback.stdout || function (out) {
         process.stdout.write(out);
     });
@@ -90,6 +103,7 @@ Mic.process = function process(command, callback, jobId) {
     });
     ps.on('error', callback.error);
     ps.on('exit', callback.exit);
+
     return ps;
 };
 
@@ -107,6 +121,10 @@ Mic.create = function create(paramObj, io) {
 
     logger.info('MIC Create: paramObj = ' + JSON.stringify(paramObj));
 
+    if (MIC_PROCESS === 0) {
+        MIC_PROCESS = 1;
+    }
+
     strLogfile = paramObj.pathOutput + AppConfig.MIC.LOG;
     strOutdir = paramObj.pathOutput;
     strArch = paramObj.imageArch;
@@ -145,16 +163,23 @@ Mic.create = function create(paramObj, io) {
             },
             error: function (out) {
                 logger.error('MICProcess.error:' + out);
+                MIC_PROCESS = 0;
                 sendMsg(AppConfig.EVENT.SOCKET.FS_IMAGE_ADD_FAIL, 'Failed (' + code + ')');
             },
             exit: function (code) {
                 logger.info('MICProcess.exit: Terminated (' + code + ')');
+                MIC_PROCESS = 0;
                 if (code === 0) {
                     sendMsg(AppConfig.EVENT.SOCKET.FS_IMAGE_ADD_FINISH, {
                         msg: 'Terminated (' + code + ')',
                         jobId: strJobId,
                         imageName: strPackto
                     });
+                } else if (code === 137) {
+                    sendMsg(AppConfig.EVENT.SOCKET.FS_IMAGE_ADD_CANCEL, {
+                        msg: 'Canceled (' + code + ')',
+                        jobId: strJobId
+                    });
                 } else if (code === null) {
                     sendMsg(AppConfig.EVENT.SOCKET.FS_IMAGE_ADD_CANCEL, {
                         msg: 'Canceled (' + code + ')',
index 095fd96..177c5b8 100644 (file)
@@ -258,11 +258,17 @@ define([
         client.on(AppConfig.EVENT.SOCKET.MIC_ADD_PID_JOB_TO, function (dataObj) {
             var msgObj = {
                 job_id: dataObj.jobId,
-                job_status: JOB_STATUS_INPROGRESS,
                 job_pid: dataObj.jobProcessId,
                 job_updater: UserInfo.email
             };
             logger.info('MIC_ADD_PID_JOB_TO: ' + JSON.stringify(msgObj));
+
+            // scroll
+            $('html, body').animate({
+                scrollTop: $('#tic-job-section').offset().top
+            }, 500);
+            updateList();
+
             // update tic_job;
             return Util.POST(AppConfig.EVENT.JOB.JOB_EDIT_ONE + dataObj.jobId, msgObj);
         });
@@ -486,16 +492,11 @@ define([
 
         function doUpdateJobView(jobModel) {
             logger.info('doCreateAnImage.doUpdateJobView');
-            Util.POST(AppConfig.EVENT.JOB.JOB_EDIT_ONE + jobModel.getJobId(), {
-                job_status: JOB_STATUS_INPROGRESS,
-                job_updater: UserInfo.email
-            }).then(function () {
-                // scroll
-                $('html, body').animate({
-                    scrollTop: $('#tic-job-section').offset().top
-                }, 500);
-                updateList();
-            });
+            // scroll
+            $('html, body').animate({
+                scrollTop: $('#tic-job-section').offset().top
+            }, 500);
+            updateList();
         }
 
         function doCreate (jobModel) {