gpt4 book ai didi

ruby-on-rails - sidekiq 在线程之间共享变量

转载 作者:数据小太阳 更新时间:2023-10-29 08:58:31 24 4
gpt4 key购买 nike

Rails 5.0.1、Ruby 2.4.0、Sidekiq 4.2.9

我需要计算后台作业中的一些特定数据。我已经通过 Postgres 实现了它,但我遇到了问题:Sidekiq 并发性会非常加载数据库连接,如果我减少并发数,作业运行会花费很多时间。

我发现可以使用原子计数器并在一段时间内将结果保存到数据库。

那么我可以在 Sidekiq 中的线程之间共享变量吗?如果是,我应该如何初始化共享变量?

谢谢你的建议

最佳答案

如果您在线程之间共享一个变量,您需要担心使用 Mutex 锁定它并且它只能扩展到单个进程。

相反,使用 Redis 命令来递增计数器。

https://redis.io/commands/incr

关于ruby-on-rails - sidekiq 在线程之间共享变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42563169/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com