我有一个API,用户可以创建,我称之为订单。
我将这些订单排入队列并通过 Sidekiq gem处理它们。完成此过程后,我目前向用户发送电子邮件。但是,我正在研究如何以编程方式通知他。
因此,向用户发送 POST请求到特定端点,告诉他该订单已被处理。
我想知道在这样做时我应该考虑哪种安全性或其他技术性的东西,或者是否有任何一种宝石可以帮助我开发它。
答案 0 :(得分:2)
您可以查看pub/sub pattern来执行此操作...
当sidekiq
完成处理然后你publish
一个事件......然后你注册浏览器来监听这个事件......这比向用户发送一个POST请求到特定端点更好告诉他订单已经处理完毕。
有很多库可以帮助您实现发布/子模式检查以下内容...
请注意,您必须使用rails app作为发布者,并使用前端作为订阅者(您可以检查JS的等效库)
如果你有兴趣在同一个rails应用程序中实现pub / sub ...我看了很多,发现只有那些是工作解决方案(用于发布和收听他发布的事件的应用程序而不会得到锁定在过程中)
this is a post on how to use those gems to implement pub/sub pattern