我一類定義爲這樣:類變量復位/彈簧
class PublicationJob < ActiveJob::Base
def self.jobs
@jobs ||= Hash{|h, k| h[k] = []}
end
def self.register(format, job_class)
jobs[format] << job_class
end
# [...]
end
要註冊不同的工作類別,我把在初始化:
PublicationJob.register(:tex, SaveJob)
PublicationJob.register(:saved_tex, TexJob)
#...
中rails console
我嘗試:
PublicationJob.jobs
#> {:tex => [SaveJob], :saved_tex => [TexJob]}
但是,如果我退出控制檯(Ctrl-D),然後重新啓動它,在某些時候哈希將是空的!
爲什麼在這種情況下重置類變量?
我使用導軌4.2.1和彈簧,我知道如果我殺死/停止彈簧,它會再次運行一段時間。它與春天有關嗎?
你在修改文件嗎?由於Spring重新加載這些文件,甚至在某些情況下重新啓動應用程序,導致您的數據被擦除。 –
我更新了應用程序目錄中的一些文件,但甚至沒有發佈publication_job:/ – Geoffroy
是的,這可能足以讓Spring重新加載應用程序,具體取決於您已更改的內容。因此擦你的數據 –