【问题标题】:Scheduled event based on database data基于数据库数据的预定事件
【发布时间】:2019-04-24 16:18:07
【问题描述】:

所以我在数据库中存储了一些警报,其日期看起来像 -> 2011-05-26T07:56:00。有没有办法可以在保存在数据库中的时间运行一些事件?

如果有什么不同,我正在使用 Postgre

【问题讨论】:

    标签: node.js


    【解决方案1】:

    node-schedule 包为您完成了这项工作。这为 Node.js 提供了一个类似 cron 和不类似 cron 的作业调度程序。它还允许您使用可选的重复规则安排在特定日期执行的作业。它在任何给定时间只使用一个计时器。

    考虑到您的情况,您可以使用节点调度模块提供的基于日期的调度

    例如,如果您希望函数在 2012 年 12 月 21 日凌晨 5:30 执行。(请记住 - 在 JavaScript 中 - 0 - 一月,11 - 十二月。)

    var schedule = require('node-schedule');
    var date = new Date(2012, 11, 21, 5, 30, 0);
    
    var j = schedule.scheduleJob(date, function(){
      console.log('Task being executed.');
    });
    

    希望这会有所帮助!

    【讨论】:

    • 如果在预定事件发生时服务器重新启动或关闭会怎样?它会自动重试/重新安排吗?
    • @FlorianWalther this 会帮忙吗?
    • 这有帮助,谢谢。因此,它们无法在服务器重新启动后幸存下来。我想解决这个问题的一种方法是将所有日期存储在数据库中,并在服务器启动时重新安排一切。
    • @FlorianWalther 是的。非常好。
    猜你喜欢
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多