Handle case where there is invalid cron time expression
parent
42e677d8d2
commit
970e461621
2
app.js
2
app.js
|
@ -215,7 +215,7 @@ app.use(function(err, req, res, next) {
|
||||||
data.stack = err.stack;
|
data.stack = err.stack;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (parseInt(data.statusCode) >= 500) {
|
if (statusCode >= 500) {
|
||||||
console.error(err);
|
console.error(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
18
crontab.js
18
crontab.js
|
@ -62,7 +62,12 @@ exports.crontabs = function(callback){
|
||||||
if(docs[i].schedule == "@reboot")
|
if(docs[i].schedule == "@reboot")
|
||||||
docs[i].next = "Next Reboot";
|
docs[i].next = "Next Reboot";
|
||||||
else
|
else
|
||||||
docs[i].next = cron_parser.parseExpression(docs[i].schedule).next().toString();
|
try {
|
||||||
|
docs[i].next = cron_parser.parseExpression(docs[i].schedule).next().toString();
|
||||||
|
} catch(err) {
|
||||||
|
console.error(err);
|
||||||
|
docs[i].next = "invalid";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
callback(docs);
|
callback(docs);
|
||||||
});
|
});
|
||||||
|
@ -129,11 +134,18 @@ exports.set_crontab = function(env_vars, callback){
|
||||||
});
|
});
|
||||||
|
|
||||||
fs.writeFile(exports.env_file, env_vars, function(err) {
|
fs.writeFile(exports.env_file, env_vars, function(err) {
|
||||||
if (err) callback(err);
|
if (err) {
|
||||||
|
console.error(err);
|
||||||
|
callback(err);
|
||||||
|
}
|
||||||
// In docker we're running as the root user, so we need to write the file as root and not crontab
|
// In docker we're running as the root user, so we need to write the file as root and not crontab
|
||||||
var fileName = process.env.CRON_IN_DOCKER !== undefined ? "root" : "crontab";
|
var fileName = process.env.CRON_IN_DOCKER !== undefined ? "root" : "crontab";
|
||||||
fs.writeFile(path.join(cronPath, fileName), crontab_string, function(err) {
|
fs.writeFile(path.join(cronPath, fileName), crontab_string, function(err) {
|
||||||
if (err) return callback(err);
|
if (err) {
|
||||||
|
console.error(err);
|
||||||
|
return callback(err);
|
||||||
|
}
|
||||||
|
|
||||||
exec("crontab " + path.join(cronPath, fileName), function(err) {
|
exec("crontab " + path.join(cronPath, fileName), function(err) {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error(err);
|
console.error(err);
|
||||||
|
|
Loading…
Reference in New Issue