orion-muf / KHU-2017-2-Capstone2-RENEW

0 stars 0 forks source link

async #28

Open muf opened 6 years ago

muf commented 6 years ago
muf commented 6 years ago

비동기 처리는 io exception 등이 있을 때만 처리 되는 것인가? 기본적으로는 한줄 한줄 처리?? 아니면 모든 함수가 호출하고 바로 넘어간다?

function myLoop(){
    var a = 10000
    for(var i = 0; i < a; i++ ){console.log("!@#")}

}
myLoop()
console.log("123")

출력하면 순서대로 된다. 비동기 처리는 http 요청 등에서만 되는건가? 가 아니라 노드에서 처리가 그렇게 되는거구나.. 잠만.. 헷갈리지 맙시다

-> 일단 노드도 for문은 상관없다. 해봣음. 같은 결과 비동기 요청이나 비동기 함수만 비동기인듯

muf commented 6 years ago

https://zetawiki.com/wiki/PPID%EB%A1%9C_%EC%9E%90%EC%8B%9D_%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4_%EB%AA%A9%EB%A1%9D_%EB%B3%B4%EA%B8%B0

muf commented 6 years ago
var express = require('express')
var router = express.Router()
var app = express();
var async = require('async');

var dir = new Map();
dir.set('view', __dirname +"/../view/")
dir.set('private', __dirname +"/../private/")

var bash = require(dir.get('private') + 'javascript/common/bash.js')
var count = 0
// @ handle bash requests
router.get('/newServiceRequest',function(req, res, next) {

  // executor 실행
  async.waterfall([
    function(callback) {
      // bash.runExecutor(function(proc){
      //   count ++;
      //   console.log(count)
      //   callback(null, proc.pid )        
      // })
      count++
      callback(null, count)
    },
    // function(pid, callback) {
    //   var pid = bash.getRealPid(pid, function(pid){
    //     callback(null, pid )        
    //   })
    // }
    // function(pid, callback) {
    //     var port = bash.getPortByPid(pid,function(data){
    //       calllback(null, {pid:data.pid, port:data.port})      
    //     })
    // },
  ], function (err, count) {
      // result now equals 'done'
      res.json(count)
  });

})

  // @app use
app.use(function(err, req, res, next) {
    console.log("error check");
    console.log(err);
  })

  module.exports = router

이 전역 변수는 값이 유지가 된다

muf commented 6 years ago

image

실패했던 이유.. 근데 실행 시킬 녀석의 옵션을 표시가 잘안되던 와중.. exec는 그냥 넣으면 실행된다..

muf commented 6 years ago

결론.. 이걸로..

    var proc = spawn('node',['/Users/junghyun.park/Desktop/git/KHU-2017-2-Capstone2-RENEW/app.js', '--config=dataGenerator'])