是否可以为rails中的延迟作业设置数据库路径?

时间:2014-08-20 04:15:25

标签: ruby-on-rails

现在,我正在开发带有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

如何解决这个问题?

1 个答案:

答案 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