簡體   English   中英

是否可以為Rails中的延遲作業設置數據庫路徑?

[英]Is it possible to set path of database for delayed job in rails?

現在,我正在開發帶有delay_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中),它表現良好。 另外,我開始了delay_jobs(rake jobs:work)。 所以,我認為問題是delay_job爬網db / development.sqlite3

如何解決這個問題?

耙工作:工作僅在開發環境中有效。

用於生產:

安裝守護程序gem。

 gem 'daemons'

然后跑

開始程序

 /script/delayed_job -e production start

停止程序

 /script/delayed_job -e production stop

Rails 4:用bin / delayed_job替換script / delayed_job

出delay_job文件應該看起來像

 #!/usr/bin/env ruby

 require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config', 'environment'))
 require 'delayed/command'
 Delayed::Command.new(ARGV).daemonize

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM