如何在流程完成后通知API用户?

时间:2014-05-30 23:10:51

标签: ruby-on-rails api sidekiq

我有一个API,用户可以创建,我称之为订单。

我将这些订单排入队列并通过 Sidekiq gem处理它们。完成此过程后,我目前向用户发送电子邮件。但是,我正在研究如何以编程方式通知他。

因此,向用户发送 POST请求到特定端点,告诉他该订单已被处理。

我想知道在这样做时我应该考虑哪种安全性或其他技术性的东西,或者是否有任何一种宝石可以帮助我开发它。

1 个答案:

答案 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