【问题标题】:node-schedule not executing on time节点计划未按时执行
【发布时间】:2020-08-03 18:53:11
【问题描述】:

我想创建一个每天 11:11 发送推文的机器人。但是,我编写的代码仅在我输入命令 node bot.js 时运行一次,之后就不再运行。我没有创建对象 Job,因为文档说我可以运行 scheduleJob() 而无需手动创建对象。

var schedule= require('node-schedule');

var writeTweet = function() {
    Twitter.post('statuses/update', {
        status: messages[messageLocation]
    }, function(err, data, response) {
        console.log(data)
    });
    messageLocation += 1;
}
 
var j=schedule.scheduleJob('11 11 * * *',writeTweet());```

【问题讨论】:

    标签: javascript node.js node-schedule


    【解决方案1】:

    您似乎在 scheduleJob 中调用函数 writeTweet()

    你只需要传递一个函数。

    像这样:

    var j=schedule.scheduleJob('11 11 * * *',writeTweet);
    

    看看这个:https://www.npmjs.com/package/node-schedule

    【讨论】:

      【解决方案2】:

      请检查时区。

      我建议你使用 cron 而不是 node-schedule。它为您提供更多控制权。

      1. 您可以在不更改代码的情况下更改 cron 时间(SetTime)
      2. 这个库有很多方法,比如 fireOnTick addCallback 等。
      3. 可以动态启动和停止作业。
      4. 您可以访问 onTick 和 onComplete 函数 https://www.npmjs.com/package/cron

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-30
        相关资源
        最近更新 更多