Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 可以为rails中的延迟作业设置数据库路径吗?_Ruby On Rails - Fatal编程技术网

Ruby on rails 可以为rails中的延迟作业设置数据库路径吗?

Ruby on rails 可以为rails中的延迟作业设置数据库路径吗?,ruby-on-rails,Ruby On Rails,现在,我正在开发带有延迟工作的邮件系统。 当我运行开发环境时,它运行良好。 但是,在服务器上部署应用程序后,它不会被执行 这是我的数据库.yml development: adapter: sqlite3 database: db/development.sqlite3 pool: 5 timeout: 5000 test: adapter: sqlite3 database: db/test.sqlite3 pool: 5 timeout: 5000 pro

现在,我正在开发带有延迟工作的邮件系统。 当我运行开发环境时,它运行良好。 但是,在服务器上部署应用程序后,它不会被执行

这是我的数据库.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中),它运行良好。此外,我还开始了延迟工作(rake jobs:work)。 所以,我认为这个问题是由于作业爬网db/development.sqlite3而延迟的


如何解决这个问题?

rake jobs:工作只适用于开发环境

生产:

安装守护进程

 gem 'daemons'
然后跑

启动程序

 /script/delayed_job -e production start
停止程序

 /script/delayed_job -e production stop
Rails 4:将脚本/延迟的\u作业替换为bin/delayed\u作业

Out延迟的\u作业文件应如下所示

 #!/usr/bin/env ruby

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

谢谢你,普亚。现在,我检查了工作是否正常(使用数据库)。但是,我也遇到了其他问题,这些尝试都失败了。我收到一条错误消息(BLOB(大小:…)/last\u error cols)。这是什么意思?作业类#通知#电子邮件(id=156)失败(之前两次尝试),命名错误:#的未定义方法`合并'//这是日志上的错误。我不知道它什么时候叫“合并”。此外,我没有“合并”功能。。