可扩展的方式来设置产品订阅?
问题描述:
我不确定创建后台作业是否最好的想法,以便随时更新产品价格来扫描数据库,尤其是在我的应用程序中时,如果数百万个产品的价格较低,我预计会有100,000个产品。可扩展的方式来设置产品订阅?
我有两种型号,Product
和Price
。一个Product
可以有很多不同的Prices
。所以我认为它应该完成的方式是:
- 订阅产品。
- 创建后台作业,以较低的价格每小时扫描数据库。
- 通过电子邮件通知用户。
我不确定关于#2,如果这是完成它的最佳方式。你们会建议什么?
答
如果你的Rails应用程序被添加新的价格对象在其数据库中的产品,为什么不能有一个ActiveRecord的回调(after_create
在这种情况下),每次新的价格对象被添加?
ActiveRecord回调可以启动一个延迟的作业,通过电子邮件向用户发送新的更低的价格。