ruby-on-rails - 使用 Capistrano 在 Rails 4 中延迟作业

标签 ruby-on-rails ruby capistrano delayed-job

我不知道如何在专用的 Ubuntu 服务器上启动延迟作业。

它在我的本地主机上运行良好,但是当我在我的服务器上运行时

sudo RAILS_ENV=production bin/delayed_job restart

我明白了

sudo: bin/delayed_job: command not found

最重要的是,如果我运行“rake jobs:work RAILS_ENV=production”命令,我会收到以下错误:

 PG::FeatureNotSupported: ERROR:  SELECT FOR UPDATE/SHARE is not allowed in subqueries

显然我的 psql 版本有问题。

有什么方法可以让脚本运行吗?有没有有效的 Capistrano 食谱?我在网上找到的都是 Rails 3 和旧版 Capistrano 的旧配方。

提前致谢。

编辑:

我已经在我的本地机器上捆绑安装守护进程 gem 并生成“delayed_job:active_record”,然后继续在生产服务器中安装和迁移哪个 bundle 。

服务器中存在 bin/delayed_job 文件,但失败并显示命令未找到。

最佳答案

并将其添加到 config/environment.rb 中:

ENV['RAILS_ENV'] ||= 'production'

然后在您的生产服务器上:

RAILS_ENV=production rake db:migrate 

RAILS_ENV=test production generate delayed_job:active_record && RAILS_ENV=production rake db:migrate

在你这样做之后:

RAILS_ENV=production script/delayed_job start

至于您遇到的 Capistrano 错误,请尝试添加如下命令:

run "cd #{current_path}; #{sudo} RACK_ENV=production bundle exec #{current_path}/bin/delayed_job start"

关于ruby-on-rails - 使用 Capistrano 在 Rails 4 中延迟作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25253616/

相关文章:

ruby-on-rails - 黑白 minitest-rails 和 minitest-spec-rails 有什么区别?

ruby - 从字符串中删除子字符串

ruby-on-rails - 从Docker容器中管理Capistrano部署的SSH key

ruby-on-rails - 我可以使用 Windows 开发设置中的 Capistrano 部署到 Linux 服务器吗?

ruby-on-rails - Ruby on Rails *功能*部署的最佳实践?

ruby-on-rails - 有没有:disable_with equivalent for link_to_remote?

ruby-on-rails - 管理中的多项选择

javascript - 无论如何,是否可以使用树Rails从模型创建具有多个父级的子级

ruby - 我如何从佣金任务中提早返回?

Ruby/Sinatra send_file 不工作