2
我正在調用引擎內的ActiveResource對象,並且需要以線程安全方式設置標題。以線程安全方式設置Rails ActiveResource標題
我已經/lib/mymodule.rb發動機,它看起來是這樣的:
module MyModule
def self.my_method()
begin
data = WebResource.find(:all) # Where WebResource < ActiveResource::Base
rescue
data = nil
end
return data
end
end
然後在我的意見/控制器,筆者粗略調用這個方法是這樣的:
WebResource.headers[:some_id] = cookies[:some_id]
MyModule::my_method()
在詢問this question並做了一些閱讀之後,看起來這不是線程安全的,因爲我在類級別設置了標題。
以線程安全方式設置這些頭文件的最佳方法是什麼?
的ActiveResource在默認情況下做到這一點。它將頭文件,站點,代理,基本身份驗證和連接本身存儲在線程局部變量中,以使其全部線程安全:https://github.com/rails/activeresource/commit/538588ddba9ffc9bf356790e9186dc7e6adad12f – mltsy