adjusting cronjob

This commit is contained in:
Thomas Harvey 2017-10-21 11:05:04 -04:00
parent 7bfda7be23
commit 734eaeac2f
3 changed files with 48 additions and 12 deletions

View File

@ -1,7 +1,4 @@
# maxMemoryUsage must be defined # maxMemoryUsage must be defined
baseName="crunner0";
namePrefix="cubs";
runners="";
function usedMemoryPercent () { function usedMemoryPercent () {
memoryAvailable=$(head /proc/meminfo|grep MemAvail|grep -Po '\d+'); memoryAvailable=$(head /proc/meminfo|grep MemAvail|grep -Po '\d+');
@ -12,7 +9,9 @@ function usedMemoryPercent () {
} }
function buildRunners () { function buildRunners () {
baseName="crunner0";
namePrefix="cubs";
runners="";
usedMemoryPercent; usedMemoryPercent;
# maxMemoryUsage must be defined # maxMemoryUsage must be defined
@ -26,8 +25,6 @@ function buildRunners () {
fi fi
usedMemoryPercent; usedMemoryPercent;
done done
echo $runners;
} }
buildRunners; buildRunners;
exit 0; exit 0;

25
routes/crontab_syslog.txt Normal file
View File

@ -0,0 +1,25 @@
Oct 20 21:52:16 dev--CLW10-3066 crontab[1885]: (virt) REPLACE (virt)
Oct 20 21:52:37 dev--CLW10-3066 crontab[2166]: (virt) LIST (virt)
Oct 20 21:53:03 dev--CLW10-3066 crontab[2168]: (virt) LIST (virt)
Oct 20 22:01:01 dev--CLW10-3066 CRON[18873]: (virt) CMD (source /home/virt/allocate_runners.sh)
Oct 20 23:01:01 dev--CLW10-3066 CRON[1867]: (virt) CMD (source /home/virt/allocate_runners.sh)
ALL CRON
Oct 20 21:52:13 dev--CLW10-3066 cron[1443]: (CRON) INFO (pidfile fd = 3)
Oct 20 21:52:13 dev--CLW10-3066 cron[1443]: (CRON) INFO (Running @reboot jobs)
Oct 20 21:52:16 dev--CLW10-3066 crontab[1885]: (virt) REPLACE (virt)
Oct 20 21:52:37 dev--CLW10-3066 crontab[2166]: (virt) LIST (virt)
Oct 20 21:53:03 dev--CLW10-3066 crontab[2168]: (virt) LIST (virt)
Oct 20 22:01:01 dev--CLW10-3066 CRON[18873]: (virt) CMD (source /home/virt/allocate_runners.sh)
Oct 20 22:01:01 dev--CLW10-3066 CRON[18870]: (CRON) info (No MTA installed, discarding output)
Oct 20 22:17:01 dev--CLW10-3066 cron[1443]: Authentication token is no longer valid; new one required
Oct 20 22:17:01 dev--CLW10-3066 CRON[18913]: Authentication token is no longer valid; new one required
Oct 20 22:17:53 dev--CLW10-3066 cron[1393]: (CRON) INFO (pidfile fd = 3)
Oct 20 22:17:53 dev--CLW10-3066 cron[1393]: (CRON) INFO (Running @reboot jobs)
Oct 20 23:01:01 dev--CLW10-3066 CRON[1867]: (virt) CMD (source /home/virt/allocate_runners.sh)
Oct 20 23:01:01 dev--CLW10-3066 CRON[1865]: (CRON) info (No MTA installed, discarding output)
Oct 20 23:17:01 dev--CLW10-3066 cron[1393]: Authentication token is no longer valid; new one required
Oct 20 23:17:01 dev--CLW10-3066 CRON[1897]: Authentication token is no longer valid; new one required

View File

@ -222,7 +222,15 @@ var Worker = (function(){
}); });
}; };
proto.startRunners = function(args){ proto.__buildCommand = function(file, maxMemoryUsage){
var command = `echo "export PATH=\${PATH};export maxMemoryUsage=${maxMemoryUsage};`;
command += `echo '${file.toString("base64")}'|base64 --decode|bash" | cat > /home/virt/allocate_runners.sh`;
command += ` && echo "*/1 * * * * source /home/virt/allocate_runners.sh >> /home/virt/allocate_runners.log 2>&1" | crontab -;`;
return command;
};
proto.startRunners = function(args, count){
if ( count > 3) return;
// onStart is not necessary // onStart is not necessary
var worker = this; var worker = this;
args.stopPercent = args.stopPercent || 80; args.stopPercent = args.stopPercent || 80;
@ -242,18 +250,24 @@ var Worker = (function(){
worker.isBuildingRunners = true; worker.isBuildingRunners = true;
fs.readFile(__dirname + "/../allocate_runners.sh", function(error, file){ fs.readFile(__dirname + "/../allocate_runners.sh", function(error, file){
var command = '(crontab -l > /tmp/virtjobs && echo "1 * * * * export PATH=${PATH};' + var command = worker.__buildCommand(file, args.stopPercent);
"export maxMemoryUsage=${args.stopPercent};" + `echo '${file.toString("base64")}'|base64 --decode|bash")`
+ ">> /tmp/virtjobs && crontab /tmp/virtjobs && rm /tmp/virtjobs;";
lxc.exec(command, worker.ip, function(data, error, stderr){ lxc.exec(command, worker.ip, function(data, error, stderr){
console.log(arguments); if (error) {
console.log("ERROR: ",stderr);
setTimeout(function(){
count = count || 0;
worker.startRunners(args, ++count);
}, 0);
} else {
console.log("SUCCESS: ", data , worker.ip);
}
// Just send the job over and set a timeout // Just send the job over and set a timeout
// to wait before checking runners // to wait before checking runners
setTimeout(function(){ setTimeout(function(){
worker.sync(args.callback); worker.sync(args.callback);
// 900000 < thats 15 min not 90 sec // 900000 < thats 15 min not 90 sec
}, 90000); }, 90000);
}); });
}); });