fixes
This commit is contained in:
77
testAPI.js
77
testAPI.js
@@ -1,32 +1,59 @@
|
||||
const request = require('request');
|
||||
|
||||
var till = 5;
|
||||
var completed = 0;
|
||||
var errors = 0;
|
||||
var callRunner = (function(){
|
||||
let started = 0;
|
||||
let completed = 0;
|
||||
let errors = 0;
|
||||
let noRunner = 0;
|
||||
|
||||
for(let i=0; i<till; i++){
|
||||
console.log('calling', i);
|
||||
let httpOptions = {
|
||||
url: 'http://codeland.bytedev.co:2000/api/run?once=true',
|
||||
form: {
|
||||
code: `python3 -c "
|
||||
let func = function(code, callback) {
|
||||
// code | `string` block of code to send runner or
|
||||
// `number` sleep timeout in seconds
|
||||
let sleepTime = 0;
|
||||
let id = started++;
|
||||
callback = callback || function(){};
|
||||
|
||||
if(/^\+?(0|[1-9]\d*)$/.test(code)){
|
||||
sleepTime = code;
|
||||
code = null;
|
||||
}
|
||||
console.log(id, ': Running...');
|
||||
|
||||
|
||||
let httpOptions = {
|
||||
url: 'http://codeland.bytedev.co:2000/api/run?once=true',
|
||||
form: {
|
||||
code: code || `python3 -c "
|
||||
from time import sleep
|
||||
sleep(10)
|
||||
"`,
|
||||
}
|
||||
sleep(${sleepTime})
|
||||
"`,
|
||||
}
|
||||
};
|
||||
|
||||
return request.post(httpOptions, function(error, response, body){
|
||||
completed++;
|
||||
let res = ``;
|
||||
if(response.statusCode == 503){
|
||||
noRunner++;
|
||||
}else if(error || response.statusCode !== 200){
|
||||
errors++;
|
||||
body = JSON.parse(body);
|
||||
res = (Buffer.from(body.res, 'base64').toString('ascii'));
|
||||
}
|
||||
console.log(`${id} with results ${res}. Errors ${errors}. No runner ${noRunner}. Completed ${completed}`);
|
||||
|
||||
callback()
|
||||
|
||||
});
|
||||
};
|
||||
request.post(httpOptions, function(error, response, body){
|
||||
completed++;
|
||||
if(error || response.statusCode !== 200){
|
||||
errors++;
|
||||
}
|
||||
|
||||
body = JSON.parse(body);
|
||||
let res = (Buffer.from(body.res, 'base64').toString('ascii'));
|
||||
console.log(i, res);
|
||||
if(completed===till){
|
||||
console.log(errors);
|
||||
}
|
||||
});
|
||||
}
|
||||
return func;
|
||||
})();
|
||||
|
||||
|
||||
let __do = function(till){
|
||||
callRunner(String(Math.random())[3]);
|
||||
setTimeout(__do, 1000, --till);
|
||||
};
|
||||
|
||||
__do(50)
|
||||
Reference in New Issue
Block a user