当我在生产中启动我的应用程序以在推出到服务器之前测试它时,我注意到我的一个数据库操作由Resque.enqueue(worker)调用,在WRONG数据库上执行! development.sqlite3而不是production.sqlite3。我正在运行服务器和resque零配置文件。必须有一些方法可以在正确的环境中运行redis或resque。
defaults: &defaults
host: localhost
port: 6379
development:
<<: *defaults
test:
<<: *defaults
staging:
<<: *defaults
production:
<<: *defaults
我找到的这个redis配置文件可以保存密钥,但redis不喜欢它,说
*** FATAL CONFIG FILE ERROR ***
Reading the configuration file, at line 1
>>> 'defaults: &defaults'
Bad directive or wrong number of arguments
答案 0 :(得分:4)
您是否在生产环境中启动了resque worker?你可以这样做,
$ RAILS_ENV=production QUEUE=* rake resque:work