【发布时间】:2016-10-25 18:20:14
【问题描述】:
我有一个在 Puma 上运行的 Rails 应用程序(3 个工人,每个 0-16 个线程)。
最近,我遇到了一些问题,即在购物车为空的情况下完成订单,以及没有附加发货的订单,或者同一商品莫名其妙地多次发货......
我已经测试和测试了好几天了,但我无法从日志中找出任何可疑之处,也无法重现这些问题。
所以我只是想知道这是否有可能是线程不安全代码(我自己的、Spree 的或某些 gem 的)执行意想不到的事情时的症状,例如,发现多个请求单独运行同一 Puma 进程上的线程。
有没有人遇到过类似的事情?我对可能发生的事情的假设/理论是否有意义?
如果这可能是根本原因,那么将 Puma 线程数设置为 1 是否可以完全解决它?
谢谢!
【问题讨论】:
标签: ruby-on-rails multithreading postgresql spree puma