PostgreSQL 通知和带有 Rails 的 WebSockets
Posted
技术标签:
【中文标题】PostgreSQL 通知和带有 Rails 的 WebSockets【英文标题】:PostgreSQL notifications and WebSockets with Rails 【发布时间】:2013-03-20 15:05:30 【问题描述】:是否有任何 Ruby/Rails 库用于通过 WebSockets 发送 PostgreSQL asynchronous notifications?
我需要通知浏览器客户端特定数据库表中的更新。我知道这可以通过 pub/sub API 来完成,但我正在寻找一个仅限 Postgres 的解决方案。
我为此找到了Python tutorial,但找不到用于 Ruby 的。我需要实现它以供生产使用,因此生产就绪的库和教程将是最好的。
【问题讨论】:
我为这个场景写了一个 Rails3-Plugin。遗憾的是它是封闭源代码(它是有偿工作),但您可以很容易地自己实现它。有一个用于 websockets 的EventMachine
插件,您可以使用 Model.execute() 来监听/通知。您唯一需要记住的是 MRI 不是多线程的(寻找 GIL),所以我使用 jruby 而不是 MRI 作为 websockets 服务器。
【参考方案1】:
我不直接知道任何与 websockets 一起使用的东西,但是 queue_classic gem 在 postgres 中使用侦听/通知来进行消息队列。这是开始了解如何完成的好方法。
【讨论】:
以上是关于PostgreSQL 通知和带有 Rails 的 WebSockets的主要内容,如果未能解决你的问题,请参考以下文章
rails3、postgresql 和 postGIS:在迁移中冻结