2017-10-23 6 views
0

シナリオでカウント:は、どのように私は、実行中のプロセスを取得することができNode.jsの

  1. 私は複数のユーザーがアクセスしているサーバーがあります。サーバ用:例:http://127.0.0.1:8081

  2. ボタンが1つあり、それをクリックすると1つのセレン自動テストが実行されます。

  3. 複数のユーザーが現在実行しているテストの一覧を取得したいと考えています。 EXのためだから、

:5人のユーザーがサーバーにアクセスし、そのボタンを2回クリックされた場合、それが実行されている自動化されたテストは以下のように表現する方法を私はNode.jsのに数の上取得することができます10.

であることを意味実行されているプロセスの数

マイserver.js:

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) 
+0

'fork'増加カウンタで作成すると、カウントを保持するだけです。あなたの 'child.on( 'close''が起動されたとき、カウンタを減らす。 – Keith

+0

@Keith - サンプルコードをお願いします。 –

答えて

1

テストされていませんが、以下はあなたの後に何かのようにする必要があります。

カウンタにアクセスしたかったかどうかわからないので、現在のカウンタをエコーする別のルート/counterが実行されました。

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) 
0

あなたがクリックされたボタンのグローバルカウントを維持することができます。

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 
}); 

このヘルプが欲しいです。おかげさまで

関連する問題