现在,我正在开发带有delayed_jobs gem的邮件系统。 当我继续开发环境时,它运行良好。 但是,在服务器上部署应用程序后,它不会起作用。
这是我的database.yml
development:
adapter: sqlite3
database: db/development.sqlite3
pool: 5
timeout: 5000
test:
adapter: sqlite3
database: db/test.sqlite3
pool: 5
timeout: 5000
production:
adapter: sqlite3
database: /var/www/service/shared/db/production.sqlite3
pool: 5
timeout: 5000
我检查了队列(在/var/www/service/shared/db/production.sqlite3中)并且表现良好。另外,我开始使用delayed_jobs(佣金工作:工作)。 所以,我认为问题是delayed_job抓取db / development.sqlite3
如何解决这个问题?
答案 0 :(得分:1)
rake jobs:工作只适用于开发环境。
生产:
安装守护进程gem。
gem 'daemons'
然后运行
启动程序
/script/delayed_job -e production start
停止程序
/script/delayed_job -e production stop
Rails 4:用bin / delayed_job替换script / delayed_job
out delayed_job文件应该看起来像
#!/usr/bin/env ruby
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config', 'environment'))
require 'delayed/command'
Delayed::Command.new(ARGV).daemonize