【问题标题】:How To Run Node-Schedule Task Every 15 Days In Nodejs?如何在 Nodejs 中每 15 天运行一次节点调度任务?
【发布时间】:2017-03-22 06:38:25
【问题描述】:

我正在使用 Node-Schedule 包,但在使用 * 系统定义条件时遇到了一些麻烦。 有谁知道我如何在每月的 15 和 30 天(15 天间隔)每天运行此任务

var schedule = require('node-schedule'); 
var tarefa = schedule.scheduleJob('15-30 * * ', function() {
    console.log("TAREFA");
});

还有一个问题,假设我想稍后根据用户选择的选项更改此设置,如何获取当前任务计划并稍后更改此间隔?

提前致谢!

【问题讨论】:

    标签: node.js intervals schedule


    【解决方案1】:

    0 0 0 1,15 * ? 应该可以工作(请参阅Quartz Cron expression :Run every 15 days ie twice in a month)。

    要更改计划,您可以使用作业名称和用户指定的新计划调用rescheduleJob 方法。

    var schedule = require('node-schedule')
    schedule.scheduleJob('myJob', '0 0 0 1,15 ? *', function() { console.log('hi') } )
    schedule.rescheduleJob('myJob', '0 0 0 1,20 ? *')
    

    【讨论】:

    • 最后一个问题,我是否应该创建一个新的时间表来运行以检查用户何时更改了时间表?例如,控制较小任务的主要任务?用户进入配置视图并更改时间选项,需要运行另一个任务以检查任务是否已更改谢谢@snorthway!帮了大忙!
    • 我不知道你的应用程序的细节,但我假设有一个处理函数在用户更改配置选项时被调用。您可以在该函数中调用rescheduleJob
    猜你喜欢
    • 1970-01-01
    • 2011-10-02
    • 2012-01-26
    • 2019-05-20
    • 2017-11-23
    • 1970-01-01
    • 2013-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多