标签: node-cron

在 node-cron 中获取下一个 cron 作业时间

在node-cron中,如何获取下一个cron作业的时间?例如 cronJob.nextCronJob().time 或其他属性。文档中没有任何方法可以证明这一点。

javascript cron node.js node-modules node-cron

8
推荐指数
1
解决办法
1万
查看次数

使用mocha进行测试时Node.js执行CronJob

所以,我有一些js代码,它是一个slackbot,它应该只是简单地监听和解析所提供的日期,然后根据提供的cron或date格式启动一个CronJob来运行某个函数.像这样的东西.

var CronJob = require ('cron').CronJob;
...
robot.respond(date, function (msg)) {
if(!isValidDate(date)) msg.reply("not a valid date);
var interval = isCronDate(date) ? date : new Date(date);
msg.reply("Job about to be scheduled.")
var schedule = new CronJob(interval, processDataOnDate(), function() { msg.reply("hello") },  true);
}
Run Code Online (Sandbox Code Playgroud)

我有一个测试此代码的咖啡文件,我希望回复某些响应,但我不希望根据我在测试代码中提供的日期执行cron作业.但是,确实如此.这是正常的吗?摩卡是否强制代码完成执行,因为这是一个单元测试,或者我做错了什么?我正在运行它来执行我的单元测试.

mocha --compilers coffee:coffee-script/register
Run Code Online (Sandbox Code Playgroud)

有关详细信息,我将其作为slackbot运行,因此这些都是以"说"和"回复"的形式完成的.我的一个测试看起来像这样.

beforeEach ->
    yield @room.user.say 'bob', '@bot schedule at 2017-05-25 18:00:00'
expect(@room.messages).to.eql [
    ['bob', 'bot schedule at 2017-05-25 18:00:00']
    ['bot', 'Job about to be scheduled']

]
Run Code Online (Sandbox Code Playgroud)

测试失败并通知我实际结果包括机器人的'hello'消息,尽管我在测试中提供的日期是将来的.

cron mocha.js node.js slack node-cron

7
推荐指数
1
解决办法
599
查看次数

在固定工作日运行的 Node-cron 作业

我知道这可能听起来有点愚蠢,但是我可以使用 node-cron 创建两个 crone 作业以在一周中不连续的两天运行吗?我是否需要调用两个 CronJob 函数,或者有没有办法只使用一个?

javascript node.js node-cron

5
推荐指数
1
解决办法
2451
查看次数

编辑使用 node-cron 创建的任务

尝试使用 node-cron ' https://github.com/merencia/node-cron '根据计划运行任务。

创建任务并启动它:

var cron = require('node-cron'),
task = cron.schedule('* * * * * *', function () {
    console.log('task running...',JSON.stringify(task));
    }, false);
task.start();
Run Code Online (Sandbox Code Playgroud)

要停止任务:

task.stop();
Run Code Online (Sandbox Code Playgroud)

销毁任务:

task.destroy();
Run Code Online (Sandbox Code Playgroud)

当任务在它们创建的范围内执行时,代码工作正常。但是根据要求,我以后如何从不同的功能访问“任务”。任务是否可以存储在后端,以便稍后对其执行“stop()”或“destroy()”功能。如果用 node-cron 不可能,还有什么可以使用的。使用 node.js 和 mongoDb。

scheduled-tasks mongodb node.js node-cron

5
推荐指数
2
解决办法
1682
查看次数

有什么办法可以在 CronJobs 中获取毫秒数吗?

我想使用节点 cron 作业每 500 毫秒触发一次 JavaScript 函数,尽管我找不到一种方法使 cron 的执行间隔低于 1 秒。

cron.schedule("*/1 * * * * *", function() {
    console.log("running a task every 1 second");
});
Run Code Online (Sandbox Code Playgroud)

有没有办法使用节点 cron 作业每 500 毫秒运行一个函数?

javascript cron node.js node-cron

5
推荐指数
1
解决办法
3691
查看次数

如何监控 node-cron 排队作业?

我最近开始使用 node-cron 作为作业调度程序。我有很多工作正在排队。

有没有一种方法可以使用可视化工具来监控它们(类似于 Agenda 中的 Agendash)?

或者您通常如何监控和调试作业?(试图找到一些最佳实践)

cron node.js node-cron

5
推荐指数
0
解决办法
355
查看次数

Heroku和node-cron?

所以我知道Heroku的免费dynos'在没有任何流量的情况下'降温' - 这对我使用node-cron模块实现的cron作业有何影响?

cron heroku node.js node-cron

4
推荐指数
1
解决办法
2687
查看次数

node-cron每3小时运行一次

我试图每3个小时运行一个node-cron作业,我不确定我是否做得对.

现在我正在使用:

* * */8 * * *
Run Code Online (Sandbox Code Playgroud)

它是否正确?

cron node.js node-cron

3
推荐指数
1
解决办法
5387
查看次数

如何在每个新月安排 node-cron 作业?

我正在使用 node-cron 包来调度 node-cron 作业。我想安排一个 node-cron 作业,该作业将在每个新月运行。例如:我的 node-cron 作业应该在2020 年 9 月 1 日之后运行,然后它应该在2020 年 10 月 1 日运行等等..!请帮我解决上述问题。提前致谢。

javascript cron node.js node-cron

3
推荐指数
2
解决办法
692
查看次数

node-cron 时区仅在时区与机器时区相同时工作

编辑: - 这已在“node-cron”版本>“3.0”中得到解决

我有以下代码。 "node-cron": "^2.0.3"

cron.schedule('46 00 * * *',() => {
   //code to be executed
  console.log("Tik")
  },{
    scheduled: true,
    timezone: "America/New_York"
  });
Run Code Online (Sandbox Code Playgroud)

根据我的理解,无论我的机器时区如何,这都应该在美国/纽约时间上午 12:46 触发。但是直到我将时区与主机时间相匹配时它才起作用,例如,如果我的机器时区是欧洲/伦敦并且我使用timezone: "Europe/London"cron 将在确切的时间工作。

我想为特定时区安排 cron。由于我处理的时区很少,所以每半小时运行一次 cron 并进行检查看起来很有效。

node.js node-cron

3
推荐指数
1
解决办法
2234
查看次数