【问题标题】:cron job not running on aws + ubuntu + node.jscron 作业未在 aws + ubuntu + node.js 上运行
【发布时间】:2017-06-05 01:00:45
【问题描述】:

我正在使用这个 cron 作业包:https://www.npmjs.com/package/cron

它在我的笔记本电脑上运行良好(在特定时间正确执行事件)。但是,cron 作业不会在我的 AWS Ubuntu 服务器上运行。有谁知道我是否需要其他配置才能使其在 AWS Ubuntu 上运行?这是我的代码:

    var CronJob = require('cron').CronJob;

    //Server
    app.listen(process.env.APP_PORT, function() {

    var job = new CronJob('0 35 0 * * *', function() {

        console.log('job runningggg');
      }, function () {
        console.log('job done!');
      },
      true 
    );


    job.start();

【问题讨论】:

  • @brandonscript 日志不会在 AWS 服务器上打印出任何内容。但它们确实在我的本地开发服务器上打印
  • 是的 - 该应用程序确实运行。抱歉,如果我可以直接从 ssh 运行 cron,你是什么意思?
  • 我可以通过 ssh 进入 ubuntu 服务器(这就是我打开应用程序的方式).. 但我不确定如何从 shell 运行 cron..
  • 嗯好吧其实没关系 - 我错误地认为它利用系统的 crontab 来运行作业(请参阅here)但事实并非如此 - 它完全是原生 Node。

标签: node.js amazon-web-services cron


【解决方案1】:

仔细检查服务器时区。它可能会运行,但与您的时区不同。

最好使用这个例子来检查它是否工作正常。该示例每秒打印一次,这使时区不同并不重要。

var CronJob = require('cron').CronJob;
new CronJob('* * * * * *', function() {
  console.log('You will see this message every second');
}, null, true, 'America/Los_Angeles');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-04
    • 1970-01-01
    • 2021-11-07
    • 2013-01-10
    • 2015-12-28
    • 2014-04-20
    • 1970-01-01
    • 2016-11-25
    相关资源
    最近更新 更多