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){ router.post('/run/:runner?', function (req, res, next){
console.log(`Request runner route!`); 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); return attemptRun(req, res, runner);
}); });

View File

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

View File

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

View File

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