0

我有一个集成到基于旧版 MS SQLServer 系统的 rails 应用程序。我需要创建某种发布订阅,由旧版 SQLServer 生成事件,Rails 应用程序订阅这些事件。

我需要生成的事件将由旧版应用程序的用户引起,观察者无济于事。基本上我需要检测由旧版应用程序引起的表插入并将其广播到 rails 应用程序。

我可以在 Legacy SQLServer 上设置 TRIGGERS,它最终可以通过 xp_cmdexec 调用某些东西。

我想出某种基于 Ruby 的 pub/sub gem,其中 SQLServer 框(在后台)上的 ruby​​ 可执行文件可以发布事件,而 Rails(在云中)应用程序可以订阅它们。性能不是问题,平均每天 10 到 30 次表插入!我控制防火墙,所以我可以通过任何协议。

我有很多通过 SQLServer 适配器在 rails 应用程序中定义的旧版 SQLServer 表,但是 rails 应用程序不会生成我感兴趣的表插入。

我见过 hookr、蚂蚁、ruby-mqtt,然后我开始看到更多:<

有人有推荐吗?

4

1 回答 1

0

如果响应性不是主要关注点,那么让 Rails 应用程序每隔一段时间轮询一次新记录可能是最简单的。如果数据库有时间戳或至少有自动增量 ID,您可以确保只处理新的。否则,您将不得不使用记录计数。

于 2012-08-28T02:29:52.583 回答