我有一个这样定义的类:
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)然后重新启动它,在某些时候哈希将是空的!
为什么在这种情况下会重置类变量?
我使用 rails 4.2.1 和 spring,我知道如果我杀死/停止 spring,它会再次工作一段时间。跟春天有关系吗?