###前提・実現したいこと
Railsのminitest内でDelayed Jobを実行中に「connection refused」で止まってしまう。
###発生している問題・エラーメッセージ
1) Error: テスト名: RuntimeError: Found DelayedJob Error: Connection refused - connect(2) for "localhost" port 9200 /Users/username/.rbenv/versions/2.2.7/lib/ruby/gems/2.2.0/gems/minitest-5.8.4/lib/minitest/test.rb:108:in `block (3 levels) in run' /Users/username/.rbenv/versions/2.2.7/lib/ruby/gems/2.2.0/gems/minitest-5.8.4/lib/minitest/test.rb:205:in `capture_exceptions' /Users/username/.rbenv/versions/2.2.7/lib/ruby/gems/2.2.0/gems/minitest-5.8.4/lib/minitest/test.rb:105:in `block (2 levels) in run' /Users/username/.rbenv/versions/2.2.7/lib/ruby/gems/2.2.0/gems/minitest-5.8.4/lib/minitest/test.rb:256:in `time_it' /Users/username/.rbenv/versions/2.2.7/lib/ruby/gems/2.2.0/gems/minitest-5.8.4/lib/minitest/test.rb:104:in `block in run' /Users/username/.rbenv/versions/2.2.7/lib/ruby/gems/2.2.0/gems/minitest-5.8.4/lib/minitest.rb:331:in `on_signal' /Users/username/.rbenv/versions/2.2.7/lib/ruby/gems/2.2.0/gems/minitest-5.8.4/lib/minitest/test.rb:276:in `with_info_handler' /Users/username/.rbenv/versions/2.2.7/lib/ruby/gems/2.2.0/gems/minitest-5.8.4/lib/minitest/test.rb:103:in `run' /Users/username/.rbenv/versions/2.2.7/lib/ruby/gems/2.2.0/gems/minitest-5.8.4/lib/minitest.rb:778:in `run_one_method' /Users/username/.rbenv/versions/2.2.7/lib/ruby/gems/2.2.0/gems/minitest-5.8.4/lib/minitest.rb:305:in `run_one_method' /Users/username/.rbenv/versions/2.2.7/lib/ruby/gems/2.2.0/gems/minitest-5.8.4/lib/minitest.rb:293:in `block (2 levels) in run' /Users/username/.rbenv/versions/2.2.7/lib/ruby/gems/2.2.0/gems/minitest-5.8.4/lib/minitest.rb:292:in `each' /Users/username/.rbenv/versions/2.2.7/lib/ruby/gems/2.2.0/gems/minitest-5.8.4/lib/minitest.rb:292:in `block in run' /Users/username/.rbenv/versions/2.2.7/lib/ruby/gems/2.2.0/gems/minitest-5.8.4/lib/minitest.rb:331:in `on_signal' /Users/username/.rbenv/versions/2.2.7/lib/ruby/gems/2.2.0/gems/minitest-5.8.4/lib/minitest.rb:318:in `with_info_handler' /Users/username/.rbenv/versions/2.2.7/lib/ruby/gems/2.2.0/gems/minitest-5.8.4/lib/minitest.rb:291:in `run' /Users/username/.rbenv/versions/2.2.7/lib/ruby/gems/2.2.0/gems/minitest-5.8.4/lib/minitest.rb:152:in `block in __run' /Users/username/.rbenv/versions/2.2.7/lib/ruby/gems/2.2.0/gems/minitest-5.8.4/lib/minitest.rb:152:in `map' /Users/username/.rbenv/versions/2.2.7/lib/ruby/gems/2.2.0/gems/minitest-5.8.4/lib/minitest.rb:152:in `__run' /Users/username/.rbenv/versions/2.2.7/lib/ruby/gems/2.2.0/gems/minitest-5.8.4/lib/minitest.rb:129:in `run' /Users/username/.rbenv/versions/2.2.7/lib/ruby/gems/2.2.0/gems/minitest-5.8.4/lib/minitest.rb:56:in `block in autorun' /Users/username/.rbenv/versions/2.2.7/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' /Users/username/.rbenv/versions/2.2.7/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' -e:1:in `<main>' test/test_helper.rb:36:in `block (2 levels) in run_delayed_jobs' test/test_helper.rb:32:in `block in run_delayed_jobs' test/test_helper.rb:31:in `times' test/test_helper.rb:31:in `run_delayed_jobs' test/features/featurename/hoge_test.rb:62:in `block (2 levels) in <top (required)>'
###該当のソースコード
test_helper.rb
Ruby
1def run_delayed_jobs(loops = 3) 2 loops.times do 3 Delayed::Job.all.each do |job| 4 next if job.run_at && job.run_at.future? 5 unless Delayed::Worker.new.run(job) 6 job = Delayed::Job.where.not(last_error: nil).order(updated_at: :desc).first 7 fail "Found DelayedJob Error: #{job.try(:last_error)}" 8 end 9 end 10 end 11 end
###試したこと
- delayed_jobの再起動
- ターミナルの再起動
- phantomjs_options: ['--ignore-ssl-errors=yes']の追加
###補足情報(言語/FW/ツール等のバージョンなど)
- OS: Mac OS X El Capitan
- ruby: 2.2.7
- rails: 4.2.5.1
- minitest: 5.8.4
- capybara: 2.6.2
- poltergeist: 1.9.0
- delayed job: 4.1.1
あなたの回答
tips
プレビュー