如何使用NodeJS在多个进程中运行CasperJS实例?

时间:2014-08-06 09:22:31

标签: javascript node.js casperjs

我需要在不同的时刻多次运行CasperJS脚本来模拟我网站上的同时连接。该脚本正在连接到我的网站并执行其他操作,我想查看服务器是否可以处理它。我知道可以使用NodeJS(CasperJS, parallel browsing WITH the testing framework检查响应)和他的child_process模块​​来做到这一点,但是从现在开始我无法成功。我希望每5秒启动几个进程,直到我同时启动X进程。我想用这个伪代码逻辑做一个这样的例子。

var deth = 8;
var factor = 2;

var spawn = require('child_process').spawn;

function launchXProcess(nb_process)
{
    for (var i = 1; i <= nb_process; i++) {
        // spawn a new process 'casperjs scritp.js'
        // log the process outputs
        // keep going
    }
}

function newPoolOfProcess(i)
{
    // First time
    if (i === 1) {
        launchXProcess(i);
        i++;
        // wait 5 sec and launch the next one
        setTimeout(newPoolOfProcess(i), 5000);
    }

    // Reach the last pool, launch it and exit
    if (i === deth) {
        launchXProcess(i);
        process.exit(code = 0);
    } else {
        launchXProcess(i);
        i *= factor
        // wait 5 sec and launch the next one
        setTimeout(newPoolOfProcess(i), 5000);
    }
}

// start
newPoolOfProcess(1);

在T时刻遵循这个逻辑,我将有许多进程连接到我的网站。 CasperJS脚本需要花费一分多钟才能完成,以确保在完成之前我将连接许多进程。我试图使用chil_process中的spawn方法,但没有成功。请告诉我如何完成,谢谢

0 个答案:

没有答案