내가 AWS에 Heroku가 마이그레이션을 시도하고있다,하지만 내 Sidekiq 작업이 다음 오류와 함께 실패 계속 :Sidekiq 깨진 파이프 오류
Errno::EPIPE: Broken pipe @ io_write - <STDOUT>
내가 성공적으로 perform_now
를 사용하여 콘솔에서 작업을 실행할 수있는 모든 것을 Heroku에서 잘 작동하므로 AWS 설정 어딘가에 문제가 있다고 생각합니다. Stack Overflow 및 Github 주위의 부적절한 대몬 화에 대한 언급을 보았지만 문제를 해결하는 방법을 모르겠습니다.
foreman start -f Procfile -p 3000 -e $VAR_FILES &
와 나는 함께하고 마지막에 &
없이 모두 명령을 시도했습니다.
web: bundle exec puma -t 1:2 -p ${PORT:-3000} -e ${RACK_ENV:-production} worker: bundle exec sidekiq -C config/sidekiq.yml log: tail -f log/production.log
와 나는 또한 (https://github.com/mperham/sidekiq/wiki/Logging#syslog) 여기의 지침에 따라, 다음과 같이 그것을 시도했다 :
내 Procfile은 다음과 같습니다
worker: bundle exec sidekiq -C config/sidekiq.yml 2>&1 | logger -t sidekiq
내 sidekiq.yml
는 logfile
세트가 있습니다 어쨌든 STDOUT에서 로그를 리디렉션해야한다고 생각하는 ./log/sidekiq.log
으로 변경하십시오.
여기서 (https://github.com/mperham/sidekiq/issues/3188) 토론을 보았고 rails12factor
보석이 내 Gemfile에 없음을 확인할 수 있습니다.
그래도 오류가 지속됩니다 ... 누구든지 손을 빌려줄 수 있습니까?
업데이트 : 마지막으로 스택 추적을 얻고는 Neo4j.rb 보석의 내부 puts
문에서 오는 볼 수 있습니다 여전히
2017-04-07T15:46:53.553Z 697 TID-12a6r4 WARN: Errno::EPIPE: Broken pipe @ io_write - <STDOUT> 2017-04-07T15:46:53.553Z 697 TID-12a6r4 WARN: /var/lib/gems/2.3.0/bundler/gems/neo4j-c804cb33bef8/lib/neo4j/session_manager.rb:60:in `write' /var/lib/gems/2.3.0/bundler/gems/neo4j-c804cb33bef8/lib/neo4j/session_manager.rb:60:in `puts' /var/lib/gems/2.3.0/bundler/gems/neo4j-c804cb33bef8/lib/neo4j/session_manager.rb:60:in `puts'
하지만이 문제를 완화 할 수 방법을 잘합니다. 나는 RAILS_LOG_TO_STDOUT=enabled
로 설정하고 설정을 해제했다.