patches for testing.

This commit is contained in:
Thomas Harvey 2017-10-10 23:31:02 -04:00
parent 983b76afce
commit 482fe08c07
4 changed files with 22 additions and 10 deletions

View File

@ -107,7 +107,7 @@ router.get('/ping/:runner', function(req, res, next){
router.post('/run/:runner?', function (req, res, next){
console.log(`Request runner route!`);
var runner = workers.getAvailrunner(workers.getRunner(req.params.runner));
var runner = workers.getAvailableRunner(workers.getRunner(req.params.runner));
return attemptRun(req, res, runner);
});

View File

@ -44,6 +44,7 @@ var Runner = (function(){
}, time);
};
return proto;
})();
@ -56,7 +57,7 @@ var Worker = (function(){
proto.create = function(config){
var worker = Object.create(proto);
Object.assign(worker, config);
worker.networks.v4.forEach(function(value){
worker[value.type+'IP'] = value.ip_address;
});
@ -64,7 +65,8 @@ var Worker = (function(){
worker.availrunners = [];
worker.ip = worker.publicIP;
worker.usedrunners = 0;
worker.index = workers.length;
worker.age = +(new Date());
console.log("AGE:",worker.age);
return worker;
};
@ -131,7 +133,9 @@ var Worker = (function(){
// console.log('Free ram check passed!')
lxc.startEphemeral(name, 'crunner0', worker.ip, function(data){
if(!data.ip){
return setTimeout(worker.startRunners, 0, args);
return setTimeout(function(){
worker.startRunners(args);
}, 0);
} else {
// console.log('started runner on', args.worker.name)
@ -147,11 +151,15 @@ var Worker = (function(){
worker.availrunners.push(runner);
setTimeout(worker.startRunners, 0, args);
setTimeout(function(){
worker.startRunners(args);
}, 0);
}
});
});
};
return proto;
})();
@ -189,7 +197,7 @@ var WorkerCollection = (function(){
};
workers.setRunner = function(runner){
runnerMap[runner.label] = runner;
workers.runnerMap[runner.label] = runner;
var __empty = runner.cleanUp;
runner.cleanUp = function(){
workers.__runnerCleanUp(runner.label);
@ -199,7 +207,7 @@ var WorkerCollection = (function(){
workers.getRunner = function(label){
return runnerMap[runner.label];
return workers.runnerMap[label];
};
//**************************************************
@ -208,7 +216,7 @@ var WorkerCollection = (function(){
workers.getAvailableRunner = function(runner){
for(let worker of workers){
if(worker.availrunners.length === 0) continue;
if(runner && runner.worker.index <= worker.index) break;
if(runner && runner.worker.age <= worker.age) break;
if(runner) runner.free();
return worker.getRunner();
@ -239,9 +247,12 @@ var WorkerCollection = (function(){
);
},
onActive: function(data, args){
// TODO: NO GOOD
data.index = workers.length;
var worker = Worker.create(data);
worker.startRunners({
onStart: function(runner, args){
// TODO: NO GOOD
workers.push(worker);
doapi.domianAddRecord({
domain: "codeland.us",

View File

@ -5,5 +5,6 @@
"size":"512mb",
"max":100,
"min":3,
"minAvail":3
"minAvail":3,
"tagPrefix": "clams-man-clams"
}

View File

@ -21,7 +21,7 @@ var callRunner = (function(){
let httpOptions = {
url: 'http://codeland.bytedev.co:2000/api/run?once=true',
url: 'http://localhost:2000/api/run?once=true',
form: {
code: code || `python3 -c "
from time import sleep