0
class ViewJob
@@counter = 0
def initialize
...
end
end
該類的所有Resque作業實例是否共享相同的@@計數器?或者有沒有其他方式來共享Resque作業中的變量(我不是全局變量的粉絲)?resque是否共享類變量?
class ViewJob
@@counter = 0
def initialize
...
end
end
該類的所有Resque作業實例是否共享相同的@@計數器?或者有沒有其他方式來共享Resque作業中的變量(我不是全局變量的粉絲)?resque是否共享類變量?
這是Ruby,因此類變量的行爲不會有任何不同。
類變量的一般規則 - 如果你不確定你是否知道你正在使用類變量 - 不這樣做。即使你是肯定 - 你很可能不需要需要它。
你是否覺得Resque的行爲與類變量有所不同? –
@AndreyDeineko,對於遲到的回覆感到抱歉。在常見情況下,Resque確實共享類變量,我弄糊塗的原因是因爲我使用docker鏡像來保存Resque服務(我忘了提及,我的錯誤),這些docker鏡像有時不共享相同的物理內存,因此class變量並不總是可共享的。 – Stan666