// 부모 JS 파일
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var casperProcess = (process.platform === "win32" ? "casperjs.cmd" : "casperjs");
var spawn = require("child_process").spawn
var child = spawn(casperProcess, ['index8.js']);
child.stdout.setEncoding('utf8');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
var result;
app.get('/', function(req, res, next) {
child.stdout.on("data", function(data) {
result += data;
console.log(data);
});
child.stderr.on("data", function(data) {
console.log("spawnSTDERR:", JSON.stringify(data));
});
child.on("close", function(code) {
console.log("자식 프로세스 종료");
res.send(result);
})
});
app.listen(180, function() {
console.log('Crawling app listening on port 180!');
});
부모 파일에서 casperjs 자식 프로세스를 만든후에
실행후 종료되었을때 웹으로 출력
핵심포인트...
this.echo(this.getHTML()).close();
child.on("close", function(code) {
console.log("자식 프로세스 종료");
res.send(result);
})
'node js' 카테고리의 다른 글
node.js 애플리케이션을 쉽고 빠르게 실행/종료하기 (0) | 2016.10.20 |
---|---|
casperjs 쿠키 저장 읽어오기 (0) | 2016.09.23 |
파일 존재 여부 확인 (0) | 2016.09.23 |
스트림으로 들어온 테이터 크기 확인 (0) | 2016.09.22 |
PHP nodejs ajax 연동 (0) | 2016.08.26 |