在Bull队列和数据库触发器之间选择

时间:2019-02-17 05:50:38

标签: javascript node.js postgresql triggers queue

我有一个用例,必须定期在数据库中为用户创建一条记录。假设每个星期一每周一次/每两周一次。我可以通过两种方式实现它。

  1. 使用数据库触发器在该时间创建记录。但是我不知道该如何重复。当该触发器运行时,我必须为下一个计划创建一个触发器,我认为这不是正确的方法。

  2. 使用队列来处理调度和执行重复的作业。但是我想为每个用户添加工作并不是一个好主意。我可能是错的,但是没有其他方法可以实现我的目标。

我对两者之间的选择感到困惑。假设我每周星期一上午9:00必须为100万用户执行此操作

哪种方法可以扩展?

我将nodejs用作后端,并将Bull-Queue用作队列,将postgres用作数据库。

1 个答案:

答案 0 :(得分:0)

  

使用数据库触发器在该时间创建记录。但是我不   知道如何重复。我必须为下一个创建触发器   安排此触发器运行的时间,我认为这是不正确的   方法。    -基于诸如内存,请求数量和代码质量等众多因素的正确方法。

所以我采用了第二种方法:

  

使用队列来处理调度和执行重复的作业。   但是我想为每个用户添加工作并不是一个好主意。我可能是   是错误的,但是没有其他方法可以实现我的目标。