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;
|
||||
}
|
||||
|
||||
if (parseInt(data.statusCode) >= 500) {
|
||||
if (statusCode >= 500) {
|
||||
console.error(err);
|
||||
}
|
||||
|
||||
|
|
18
crontab.js
18
crontab.js
|
@ -62,7 +62,12 @@ exports.crontabs = function(callback){
|
|||
if(docs[i].schedule == "@reboot")
|
||||
docs[i].next = "Next Reboot";
|
||||
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);
|
||||
});
|
||||
|
@ -129,11 +134,18 @@ exports.set_crontab = function(env_vars, callback){
|
|||
});
|
||||
|
||||
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
|
||||
var fileName = process.env.CRON_IN_DOCKER !== undefined ? "root" : "crontab";
|
||||
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) {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
|
|
Loading…
Reference in New Issue