2011-10-09 2 views
1

저는 다양한 기능을 호출하는 쉘 스크립트를 만들고 있습니다. 모든 기능이 완료되면 데이터베이스 연결을 종료하고 종료하고 싶습니다.비동기 함수가 실행 중인지 확인할 수 있습니까?

비동기 작업이 시작되고 끝날 때마다 어떻게 든 이벤트를받을 수 있으면 처리 할 수 ​​있지만 그럴 수 있습니까?

답변

2

당신은이 방법으로 async 모듈을 사용할 수 있습니다 나는 당신의 질문에 의해 혼란 스러워요 :

var async = require('async'); 
var exec = require('child_process').exec; 

async.parallel([ 
    //Spawn slow proccesses 
    function(cb){ exec('cat *.js bad_file | wc -l', cb) }, 
    function(cb){ exec('cat *.js bad_file2 | wc -l', cb) }, 
    function(cb){ exec('cat *.js bad_file3 | wc -l', cb) } 
], 
function(err){ 
    //If there is an error, the callback returns an error will be put in "err" 
    if(err != null) 
     console.log(err); 

    //All done, quit! 
    require("process").exit(); 
}); 
+0

일할 수있는,하지만 내 기능을 API 년대를 호출하기 때문에, 데이터베이스를 업데이트하고 같은 나는 많이 필요 그 종류의 논리와 많은 콜백. 나는 지금까지 내 자신을 만들었습니다 : https://gist.github.com/1274105 – webjay

+0

프로세스가 활성화되어 있는지 5 초마다 점검 할 수 있습니까? – webjay

+0

당신이 이루고자하는 일에 아직도 안개가 듭니다. NodeJs의 "연속 전달 스타일"은 올바르게 사용될 경우 일련의 호출이있을 때 작업이 끝났을 때를 알기에 완벽하게 괜찮습니다. 당신이하려는 일에 대해 좀 더 설명해 주시겠습니까? – Nican

관련 문제