我有一个方法可以访问使用 Rails.cache 存储的值。当我通过控制台执行此方法时,它使用缓存并且一切都很好。但是,当该方法由 delay_job 工作人员执行时,它不使用缓存。
正在使用以下命令启动工作程序:
bundle exec rake jobs:work RAILS_ENV=production
如何让 delay_job 使用缓存?
编辑:该应用程序正在使用 dalli_store(一个 memcached 客户端)。
我有一个方法可以访问使用 Rails.cache 存储的值。当我通过控制台执行此方法时,它使用缓存并且一切都很好。但是,当该方法由 delay_job 工作人员执行时,它不使用缓存。
正在使用以下命令启动工作程序:
bundle exec rake jobs:work RAILS_ENV=production
如何让 delay_job 使用缓存?
编辑:该应用程序正在使用 dalli_store(一个 memcached 客户端)。
您可能正在使用内存缓存,因此进程不共享此内存。检查您没有将 cache_store 设置为 nil。您可以使用 file_store 或 memcache_store(请参阅https://github.com/mperham/dalli)