【发布时间】:2017-08-31 23:47:12
【问题描述】:
这可能不是最好的问题。但我会尽力解释。 我需要将模型与外部服务同步。
因此有许多入口点可以更新或创建模型。 所以我需要监听 after_update 和 after_create 事件。
我不喜欢在模型内部调用 HTTP,我正在寻找在模型之外实现它的最佳方法。 (PS 我知道我们可以使用带有 base.class_eval 的模块,但它也是最终模型的一部分)
我找到了实现的 https://github.com/krisleech/wisper 库 发布者/订阅者方法。 这是最好的方法吗?
【问题讨论】:
-
您需要事务方法吗?如果更新在第一个系统中有效,但在第二个系统中崩溃(或离线),您是否应该在第一个系统中应用更新?另外,您需要在第二个系统中立即更新吗?考虑一次更新 10k 个模型和 10k 个请求。
-
也许尝试在模型回调中推送
ActiveJob.perform_later,让 Job 处理 HTTP?
标签: ruby-on-rails ruby-on-rails-5