即使在生产模式下从服务器运行,Resque也会写入开发数据库

问题描述 投票:0回答:1

当我在生产环境中启动我的应用程序以在将其发布到服务器之前对其进行测试时,我注意到由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
ruby-on-rails redis resque
1个回答
4
投票

您是否在生产环境中开始了Resque Worker? 你可以这样

$ RAILS_ENV=production QUEUE=* rake resque:work
© www.soinside.com 2019 - 2024. All rights reserved.