hat*_*a91 7 ruby ruby-on-rails delayed-job bundler capistrano3
我正在使用Bundler为Capistrano部署的Rails应用程序.我正在尝试添加DelayedJob gem,但是在部署之后,远程服务器中缺少bin/delayed_job文件.它存在于我的本地机器上.
我尝试手动创建它bundle binstubs delayed_job但它失败了:There are no executables for the gem delayed_job.
我在这里错过了什么?
有问题的宝石是:Bundler 1.3.5,Capistrano 3.1.0,DelayedJob 4.0.0,Rails 4.0.2
编辑:这是我的完整Gemfile:http://pastebin.com/WuE3eJrj
小智 11
我遇到过同样的问题.delayed_job binstub不是使用bundler生成的,而是使用rails生成器生成的.在capistrano部署期间,防止bin目录被符号链接.从这个改变config/deploy.rb:
set :linked_dirs, %w{bin log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system}
Run Code Online (Sandbox Code Playgroud)
至
set :linked_dirs, %w{log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system}
Run Code Online (Sandbox Code Playgroud)
然后我使用bundler在本地重新生成所有binstub
bundle install --binstubs
Run Code Online (Sandbox Code Playgroud)
现在我运行了delayed_job生成器
bundle exec rails g delayed_job
Run Code Online (Sandbox Code Playgroud)
检查所有内容并再次部署.
小智 5
gem "daemons"根据文档,我认为你需要包括:
为此,请将gem"守护进程"添加到Gemfile中,并确保运行rails generate delayed_job.
https://github.com/collectiveidea/delayed_job#running-jobs
| 归档时间: |
|
| 查看次数: |
1294 次 |
| 最近记录: |