【发布时间】:2014-10-04 21:24:09
【问题描述】:
我不知道如何在专用 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”,然后开始部署在生产服务器中安装和迁移的捆绑包。
bin/delayed_job 文件存在于服务器中,但由于找不到命令而失败。
【问题讨论】:
-
你确定你在你的服务器上安装了 gems 吗?捆绑安装?
-
请确保将 gem "daemons" 添加到您的 Gemfile,然后捆绑安装。你必须运行 rails generate delayed_job:active_record && rake db:migrate。
-
@EkiEqbal 是的,我已经捆绑安装了守护进程 gem 并在我的本地机器上生成了“delayed_job:active_record”。我是否也必须在生产服务器上运行它?
-
请在您的生产服务器上运行它,或者如果您想创建一个 Capistrano 配方以在生产服务器上自动执行该操作。
-
让我更新,如果您的问题已解决,我可以将其发布为答案。
标签: ruby-on-rails ruby capistrano delayed-job