【问题标题】:Can Spree run on a multithreaded server be problematic?Spree 在多线程服务器上运行会不会有问题?
【发布时间】:2016-10-25 18:20:14
【问题描述】:

我有一个在 Puma 上运行的 Rails 应用程序(3 个工人,每个 0-16 个线程)。

最近,我遇到了一些问题,即在购物车为空的情况下完成订单,以及没有附加发货的订单,或者同一商品莫名其妙地多次发货......

我已经测试和测试了好几天了,但我无法从日志中找出任何可疑之处,也无法重现这些问题。

所以我只是想知道这是否有可能是线程不安全代码(我自己的、Spree 的或某些 gem 的)执行意想不到的事情时的症状,例如,发现多个请求单独运行同一 Puma 进程上的线程。

有没有人遇到过类似的事情?我对可能发生的事情的假设/理论是否有意义?

如果这可能是根本原因,那么将 Puma 线程数设置为 1 是否可以完全解决它?

谢谢!

【问题讨论】:

    标签: ruby-on-rails multithreading postgresql spree puma


    【解决方案1】:

    只是快速更新。

    我在生产服务器上运行 Puma 大约 1 个月,有 3 名工作人员,每人 1 个线程。

    之前的症状都没有再次出现,所以我认为问题是/实际上是由于某处的某些线程不安全代码造成的。

    以防万一将来有人偶然发现...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-10
      • 2017-08-12
      • 1970-01-01
      • 2021-08-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多