1

我想创建一个每天 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());```
4

2 回答 2

0

看来你正在调用你的writeTweet()函数scheduleJob

因为你只需要传递一个函数。

像这样:

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

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

于 2020-07-15T20:42:18.750 回答
0

请检查时区。

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

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