patches for testing.
This commit is contained in:
parent
983b76afce
commit
482fe08c07
@ -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);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -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",
|
||||||
|
@ -5,5 +5,6 @@
|
|||||||
"size":"512mb",
|
"size":"512mb",
|
||||||
"max":100,
|
"max":100,
|
||||||
"min":3,
|
"min":3,
|
||||||
"minAvail":3
|
"minAvail":3,
|
||||||
|
"tagPrefix": "clams-man-clams"
|
||||||
}
|
}
|
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user