Javascript 如何在node.js中获得运行进程计数
情景: 我有一个可以被多个用户访问的服务器。ex服务器: 它有一个按钮,点击它,它运行一个selenium自动化测试 我想获取多个用户当前运行的测试列表 例如:如果有5个用户访问该服务器,并点击该按钮2次,则表示运行的自动测试为10次 如何在node.js express中获得高于计数的值,比如有多少进程正在运行 My server.js:Javascript 如何在node.js中获得运行进程计数,javascript,node.js,selenium,Javascript,Node.js,Selenium,情景: 我有一个可以被多个用户访问的服务器。ex服务器: 它有一个按钮,点击它,它运行一个selenium自动化测试 我想获取多个用户当前运行的测试列表 例如:如果有5个用户访问该服务器,并点击该按钮2次,则表示运行的自动测试为10次 如何在node.js express中获得高于计数的值,比如有多少进程正在运行 My server.js: var express = require('express'); var app = express(); app.get('/', function
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send(
'<form action="/server" method="POST">' +
' <input type="submit" name="server" value="Run Script" />' +
'</form>');
});
app.post('/server', function (req, res) {
var fork = require('child_process').fork;
var child = fork('./test');
res.send('Test Started....');
});
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log("Example app listening at http://%s:%s", host, port)
您可以维护单击按钮的全局计数
global.total_tests = 0; // note this line
var express = require('express');
var app = express();
app.post('/server', function (req, res) {
var fork = require('child_process').fork;
var child = fork('./test');
res.send('Test Started....');
total_tests++; // note this line
});
我希望这有帮助。
谢谢。未测试,但以下内容应与您的测试结果类似 不确定您是否要访问计数器,因此执行了另一个路由/计数器,以将当前计数器回声输出
var express = require('express');
var app = express();
var counter = 0;
app.get('/', function (req, res) {
res.send(
'<form action="/server" method="POST">' +
' <input type="submit" name="server" value="Run Script" />' +
'</form>');
});
app.get('/counter', function (req, res) {
res.end("Counter = " + counter);
});
app.post('/server', function (req, res) {
var fork = require('child_process').fork;
var child = fork('./test');
counter ++;
child.on("close", function () { counter --; });
res.send('Test Started....');
});
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log("Example app listening at http://%s:%s", host, port)
我建议按照中的建议使用。当您使用fork increase counter创建时,只需保留一个计数即可,。当您的child.on“close”被激活时,减少计数器。@Keith-请给我示例代码。那会有很大帮助。