【发布时间】:2016-06-17 15:06:08
【问题描述】:
我有一个用户模型,我正在线程中设置一个值
Thread.current[:partner_domain] = "example.com"
我可以在模型中访问它,但不能在延迟的工作人员中访问,因为它在单独的线程中运行,由于某些业务需求,我无法将此域保存在我的数据库中。
为了更清楚,我在动态创建的方法中使用Thread.current[:partner_domain],该方法由延迟的作业工作者调用
请帮帮我。
【问题讨论】:
-
全球状态 FTW!不,不要这样做。或者,如果您知道自己在做什么,风险自负。
-
@bsvin33t 这样的事情怎么处理,能发个答案吗?
-
我还有一个问题,你不能用redis之类的东西来持久化值吗?
-
每个工作的这个值是变化的还是静态的?
-
@bsvin33t:全局状态很好。另一方面,可变全局状态....
标签: ruby-on-rails ruby multithreading ruby-on-rails-4 delayed-job