我在收到delayed_job以在生产环境中启动时遇到问题。一切工作,因为它应该在开发时只使用耙工作:工作命令,但在与Capistrano部署到我的服务器后,以及几个小时的失败尝试后,我无法弄清楚如何让DJ运行。delayed_job gem不会在生产环境中启动(Rails 4)
正如它说的在github上为delayed_job存储库所做的,我确信我捆绑了“daemons”gem,并且试图用命令“bin/delayed_job start”而不是“script/delayed_job start”因为我在轨道4.我也跑了所需的发电机“轨产生的delayed_job”,这确实产生我的项目的bin目录内的文件:
#!/usr/bin/env ruby
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config', 'environment'))
require 'delayed/command'
Delayed::Command.new(ARGV).daemonize
我一直得到的错误是-bash: bin/delayed_job: No such file or directory
我认为这可能是因为我使用rvm。
至于我的gemfile,我包含了delayed_job_active_record和守护进程。在这一点上,我完全陷入了困境,并没有探索的链接。
source 'https://rubygems.org'
ruby '2.0.0'
gem 'rails', '4.0.0'
# Rails defaults
gem 'sass-rails', '~> 4.0.0'
gem 'bundler'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 1.2'
# learn-rails
gem 'anjlab-bootstrap-rails', :require => 'bootstrap-rails', :github => 'anjlab/bootstrap-rails'
gem 'figaro'
gem 'gibbon'
gem 'high_voltage'
gem 'simple_form', '>= 3.0.0.rc'
gem 'delayed_job_active_record', '~> 4.0.0'
group :development, :test do
gem 'sqlite3'
gem 'better_errors'
gem 'quiet_assets'
gem 'capistrano', '~> 2.15.5'
gem 'rvm-capistrano'
gem 'rspec-rails'
end
group :test do
gem "factory_girl_rails", "~> 4.0"
gem 'capybara'
gem 'poltergeist'
gem "faker", "~> 1.2.0"
end
group :production do
gem 'unicorn'
gem 'pg'
gem 'daemons'
end
是否可以,你有capistrano宝石只用于:开发和:在你的Gemfile中测试? – Leger
@Leger,是的,可以将Capistrano开发出来,这是一个很好的答案,可以进一步阐明这个话题:http://stackoverflow.com/a/15661804/2922050 –
我需要做的事情是让自己工作。你可以SSH入服务器并再次耙数据库,运行'''RAILS_ENV = production bundle exec rake db:migrate'''。每隔一段时间,我部署新的迁移时不会为我个人运行,因此这是必要的。 也可以在这里找到delayed_job.log文件'''application_name/log/delayed_job.log''' 您可以验证远程服务器上是否存在bin/delayed_job文件? – Thomas