我有一个正确排队的resque-scheduler延迟作业。 一切都很顺利开发机。部署完成后,作业会执行但失败。 resque的Web显示失败的作业选项卡上的以下错误:resque job ActiveRecord :: StatementInvalid找不到表
Exception: ActiveRecord::StatementInvalid
Error: Could not find table 'articles'
表物品存在,因为我通过应用程序访问它。
任何线索?
我有一个正确排队的resque-scheduler延迟作业。 一切都很顺利开发机。部署完成后,作业会执行但失败。 resque的Web显示失败的作业选项卡上的以下错误:resque job ActiveRecord :: StatementInvalid找不到表
Exception: ActiveRecord::StatementInvalid
Error: Could not find table 'articles'
表物品存在,因为我通过应用程序访问它。
任何线索?
我最初是在服务器上手动启动适当的resque任务并得到错误。我改变了部署策略,并最终在capistrano配方中添加了resque任务......并且它工作了!另一个谜解决了。我想这个解释是混合了不在相同的rails环境和用户权限。
您可能错过了RAILS_ENV环境变量,并且Resque尝试使用开发数据库(不存在)。如果从命令行运行rake,这应该起作用:
RAILS_ENV=production QUEUE=* rake resque:work