Rails 5.0.1,Ruby 2.4.0,Sidekiq 4.2.9sidekiq共享线程间变量
我需要在后台作业中统计一些特定的数据。我已经通过Postgres实现了它,但是我遇到了问题:Sidekiq并发性非常加载数据库连接,如果我减少并发数,运行作业需要很长时间。
我发现可以使用原子计数器,并在某个时间段内将结果保存到数据库。
那么我可以在Sidekiq的线程之间共享变量吗?如果是这样,我应该如何初始化共享变量?如果线程之间共享变量
感谢您的任何建议
Rails 5.0.1,Ruby 2.4.0,Sidekiq 4.2.9sidekiq共享线程间变量
我需要在后台作业中统计一些特定的数据。我已经通过Postgres实现了它,但是我遇到了问题:Sidekiq并发性非常加载数据库连接,如果我减少并发数,运行作业需要很长时间。
我发现可以使用原子计数器,并在某个时间段内将结果保存到数据库。
那么我可以在Sidekiq的线程之间共享变量吗?如果是这样,我应该如何初始化共享变量?如果线程之间共享变量
感谢您的任何建议
所以,使用Mutex是一个坏主意。对? –
那么你放弃sidekiq给你的好处是多线程。 –
我没有说使用Mutex是一个坏主意。我也没有说这是个好主意。 –
您能详细介绍一下您实际上想在sidekiq作业之间共享哪些信息吗? –
我只是应该存储一些数据的计数,并且当这个计数得到限制时,我应该忽略作业并停止处理 –
使用redis会最有意义 – Anthony