NodeJS:基于MongoDB条目在特定时间发送大量文本的最佳方法?

时间:2019-06-13 06:03:55

标签: javascript node.js mongodb express

我正在编写一个应用程序,该应用程序需要使用AWS根据MongoDB数据库条目发送文本消息。我正在将消息,电话号码和发送消息的时间保存在数据库中,目前我可以使用该号码和消息发送文本。我正在尝试找出在适当时间发送消息的最佳方法。我原本以为最好的方法是执行cron作业,每分钟查询一次数据库,然后发送文本。但是,cron作业是否适合可靠且大规模地执行此操作?另外,如果数据库太大,每分钟查询会花费太长时间吗?我还考虑过使用setInterval每分钟运行一次查询。但是,这两种方式都好像在查询数据库需要花费一分钟以上的时间,它将试图对其查询两次,并可能发送重复的消息或引起其他问题。这些是处理这种情况的一种好方法还是其他更好的方法?

1 个答案:

答案 0 :(得分:0)

  1. 设置一个每分钟运行一次的cron作业,查询以下内容:((locked:not_exists || locked:false)&& record.time_to_send <= current_time)
  2. 现在在cron作业中保留一个标志“锁定”,每当要处理一条记录(或发送一条消息)时,该标志就会设置为true

您可能还想看看AWS lambda或step函数。