adding check before instantiating the runner

This commit is contained in:
Thomas Harvey 2017-10-13 00:46:44 -04:00
parent 1231dbcebc
commit cac789fed3

View File

@ -166,9 +166,7 @@ var Worker = (function(){
proto.startRunners = function(args){ proto.startRunners = function(args){
var worker = this; var worker = this;
args.count = args.count || 0; console.log('Starting runners on', worker.name, worker.ip);
console.log('Starting runners on', worker.name, worker.ip, args.count);
// dont make runners on out dated workers // dont make runners on out dated workers
if(!worker || worker.settings.image > worker.image.id || worker.isBuildingRunners){ if(!worker || worker.settings.image > worker.image.id || worker.isBuildingRunners){
if(worker) console.log(`Blocked worker(${worker.image.id}), current image ${worker.settings.image}. Building: ${worker.isBuildingRunners}`) if(worker) console.log(`Blocked worker(${worker.image.id}), current image ${worker.settings.image}. Building: ${worker.isBuildingRunners}`)
@ -182,44 +180,51 @@ var Worker = (function(){
worker.isBuildingRunners = true; worker.isBuildingRunners = true;
worker.ramPercentUsed(function(usedMemPercent){ worker.ramPercentUsed(function(usedMemPercent){
console.log(arguments);
if(usedMemPercent > args.stopPercent ){ if(usedMemPercent > args.stopPercent ){
worker.isBuildingRunners = false; worker.isBuildingRunners = false;
console.log('---using', String(usedMemPercent).trim(), console.log('---using', String(usedMemPercent).trim(),
'percent memory, stopping runner creation!', worker.availrunners.length, 'percent memory, stopping runner creation!', worker.availrunners.length,
'created on ', worker.name 'created on ', worker.name
); );
args.onDone(args); args.onDone(worker, args);
return ; return ;
} } else if (usedMemPercent !== ""){
console.log('+++using', String(usedMemPercent).trim(), console.log('+++using', String(usedMemPercent).trim(),
'percent memory on ', worker.name, 'percent memory on ', worker.name,
'Runners:', worker.availrunners.length, 'Runners:', worker.availrunners.length,
`Used? ${usedMemPercent}` `Used? ${usedMemPercent}`
); );
var name = 'crunner-' + utils.uuid(); var name = 'crunner-' + utils.uuid();
// 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){
console.log('started runner on', worker.name) console.log('started runner on', worker.name);
var runner = Runner.create({ var runner = Runner.create({
"ip": data.ip, "ip": data.ip,
"name": name, "name": name,
"worker": worker, "worker": worker,
"label": worker.name + ':' + name "label": worker.name + ':' + name
}); });
args.onStart(worker, args); args.onStart(worker, args);
worker.availrunners.push(runner); worker.availrunners.push(runner);
} }
return setTimeout(function(){
worker.isBuildingRunners = false;
worker.startRunners(args);
}, 0);
});
} else {
return setTimeout(function(){ return setTimeout(function(){
worker.isBuildingRunners = false; worker.isBuildingRunners = false;
worker.startRunners(args); worker.startRunners(args);
}, 0); }, 0);
}); }
}); });
}; };
@ -291,7 +296,7 @@ var WorkerCollection = (function(){
worker.register(); worker.register();
args.onStart = function(){}; args.onStart = function(){};
}, },
onDone: function(args){ onDone: function(worker, args){
console.log("Seeded runners on", worker.name); console.log("Seeded runners on", worker.name);
workers.currentCreating--; workers.currentCreating--;
} }