我想在未来的日期/时间运行一个函数 - 一次 | nodejs - 后端任务?

Posted

技术标签:

【中文标题】我想在未来的日期/时间运行一个函数 - 一次 | nodejs - 后端任务?【英文标题】:i want to run a function on a future date/time - once | nodejs - backend task? 【发布时间】:2021-10-22 13:22:10 【问题描述】:

我在 react.js 上有一个事件网络应用程序 |当登录用户在事件页面上设置事件时 - 假设从今天起四天后,还有另一个 setReminder 下拉输入字段,其值为 4 小时前 / 3 小时前等等,在提交时我正在调用或点击

route/api/endpoint/postRequest post->api->userSchema->mongoDB->req.body -

json setReminderTime: currentDateTime - req.body.data.setReminderValue 等等等等。 并保存其他更多数据,所以现在我想在我的代码中运行一个函数2 小时前)所以提醒我发送通知或 smg 或想要做更多其他事情,我不想每秒都点击我的数据库,我也不想使用 setTimeout 工作人员,因为我的服务器再次刷新再次由于puch->更新

【问题讨论】:

【参考方案1】:

我不确定我是否很好地理解了您的问题,但是您可以尝试在服务器(后端)上使用提醒,并且您必须使用这样的 cron 服务每小时运行一次提醒:

const schedulerFactory = function() 
 return 
  start: function() 
  // this action will be executed every day at 12:00 u can choose what you wan't
  new CronJob('00 00 12 * * *', function() 

     //CronJob('0 */1 * * * *') // this for execute each one minute 
     console.log('Running Send Notifications Worker for ' + moment().format());
       notificationsWorker.run(); // this should be the function to call and it will search for all instance where some condition are true and than execute them
    , null, true, '');
  ,
 ;
;

您可以在数据库中存储一些信息以了解您是否必须执行此操作(例如上次连接或类似的信息以了解何时发送通知)

祝兄弟好运

【讨论】:

以上是关于我想在未来的日期/时间运行一个函数 - 一次 | nodejs - 后端任务?的主要内容,如果未能解决你的问题,请参考以下文章

我想在 Where 条件中输入 2 个日期,一次用于 8 月,一次用于 10 月

有人可以解释我如何设置我想在文本框/组合框/日期时间选择器中写入的值吗? [关闭]

如何在日历视图中禁用未来日期[重复]

在 Jquery Ui Datepicker 中禁用今天之后的未来日期

Cron 作业每 x 周和特定日期运行一次 [关闭]

在日期轴上绘制函数