works with settings file change

This commit is contained in:
William Mantly 2016-07-23 01:40:14 -04:00
parent bfa3e689b3
commit 00f68ef649
2 changed files with 17 additions and 11 deletions

View File

@ -126,7 +126,7 @@ var workers = (function(){
'percent memory, stopping runner creation!', args.worker.availrunners.length, 'percent memory, stopping runner creation!', args.worker.availrunners.length,
'created on ', args.worker.name 'created on ', args.worker.name
); );
args.onDone(args) args.onDone(args);
return ; return ;
} }
@ -142,7 +142,7 @@ var workers = (function(){
worker: args.worker, worker: args.worker,
label: args.worker.name + ':' + name label: args.worker.name + ':' + name
}; };
args.onStart(runner, args) args.onStart(runner, args);
args.worker.availrunners.push(runner); args.worker.availrunners.push(runner);
@ -161,9 +161,9 @@ var workers = (function(){
} }
for(let worker of workers){ for(let worker of workers){
console.log("checking", worker.name, "if zombie") console.log("checking", worker.name, "if zombie");
if(worker.availrunners.length === 0 && worker.usedrunner === 0){ if(worker.availrunners.length === 0 && worker.usedrunner === 0){
workers.splice(workers.indexOf(worker), 1) workers.splice(workers.indexOf(worker), 1);
console.log('found zombie worker, destroying'); console.log('found zombie worker, destroying');
workers.destroy(worker); workers.destroy(worker);
} }
@ -189,7 +189,7 @@ var workers = (function(){
}; };
workers.settingsSave = function(){ workers.settingsSave = function(){
jsonfile.writeFile('./workers.json', workers.settings, {spaces: 2}, function(err) { jsonfile.writeFile('./workers.json', workers.settings, {spaces: 2}, function(err) {
console.error(err) console.error(err);
}); });
}; };
@ -318,13 +318,17 @@ router.get('/destroyOld', function(req, res, next) {
router.post('/updateID', function(req, res, next){ router.post('/updateID', function(req, res, next){
var newWorkers = { var newWorkers = {
workers: [], workers: [],
target: workers.length,
image: req.query.image, image: req.query.image,
target: req.query.target || workers.length,
size: req.query.size || workers.settings.size, size: req.query.size || workers.settings.size,
version: workers.settings.version+1 version: workers.settings.version+1,
min: req.query.min || workers.settings,
minAvail: req.query.minAvail || workers.settings
}; };
doapi.tagCreate('clwV'+newWorkers.version); doapi.tagCreate('clwV'+newWorkers.version);
workers.destroyOld('clwV'+newWorkers.version);
for(var i=0; i<newWorkers.target; i++){ for(var i=0; i<newWorkers.target; i++){
doapi.dropletToActive({ doapi.dropletToActive({
@ -341,11 +345,11 @@ router.post('/updateID', function(req, res, next){
newWorkers: args.newWorkers, newWorkers: args.newWorkers,
onStart: function(runner, args){ onStart: function(runner, args){
args.newWorkers.workers.push(args.worker); args.newWorkers.workers.push(args.worker);
console.log('onStart '); console.log('onStart', args.worker.name);
args.onStart = function(){}; args.onStart = function(){};
}, },
onDone: function(args){ onDone: function(args){
console.log('new workers:', args.newWorkers.workers.length) console.log('new workers:', args.newWorkers.workers.length);
doapi.domianAddRecord({ doapi.domianAddRecord({
domain: "codeland.us", domain: "codeland.us",
type: "A", type: "A",
@ -357,6 +361,8 @@ router.post('/updateID', function(req, res, next){
console.log('upgrade complete!') console.log('upgrade complete!')
workers.settings.image = args.newWorkers.image; workers.settings.image = args.newWorkers.image;
workers.settings.size = args.newWorkers.size; workers.settings.size = args.newWorkers.size;
workers.settings.min = args.newWorkers.min;
workers.settings.minAvail = args.newWorkers.minAvail;
workers.forEach(function(worker){ workers.forEach(function(worker){
worker.availrunners.forEach(function(runner){ worker.availrunners.forEach(function(runner){

View File

@ -1,8 +1,8 @@
{ {
"image": "18473675", "image": "18607562",
"version": 5, "version": 5,
"lastSnapShotId": "0", "lastSnapShotId": "0",
"size": "2gb", "size": "512mb",
"max": 100, "max": 100,
"min": 1, "min": 1,
"minAvail": 1 "minAvail": 1