Heroku의 단일 dyno에 Unicorn을 설치 한 경우 3 명의 직원에게 말하십시오. 하위 작업자 중 2 명은 웹 요청을 처리하고 1 명의 Unicorn 하위 작업 (예 : resque 대기열) 또는 예약 된 작업을 수행 할 수 있습니까?하나의 Unicorn 하위 프로세스가 큐를 처리 할 수 있습니까? 나머지는 Heroku 단일 Dyno에서 웹 요청을 처리합니까?
아니면 그냥 적절하지 않습니까?
이제 작동!
그래, 대답을 사용하여 나는 그것을 얻을 수 있었다. 단서를 집어 들기는했지만, 처음에는 조금 어색했다. 이것이 나를 위해 일한 것입니다.
Procfile
web: bundle exec unicorn_rails -p $PORT -c config/unicorn.rb
unicorn.rb
worker_processes 2
preload_app true
timeout 30
@resque_pid = nil
before_fork do |server, worker|
@resque_pid ||= spawn("bundle exec rake environment resque:work QUEUE=*")
end
after_fork do |server, worker|
ActiveRecord::Base.establish_connection
end
그래, 어젯밤 bugsplat 튜토리얼을 통해 작업하고 있었지만 큐를 가져올 수 없었습니다 ... – nverba
각 forked 프로세스가 각각 비슷해야하는지는 알 수 없습니다. 유니콘 마스터. 나는 영웅이 유니콘에 이의가 있다고 생각하지 않는다. 결국 용량이 1 Dyno 밖에 없습니다. 그들은 1 개의 무료 앱에 묶여있는 여러 명의 다이노들로 끝날 수 있기 때문에, 공유 된 DB로 앱을 복제하여 정책을 우회하려고 의도하지 않을 것입니다. – nverba
도 분명히 dyno는 최대 15 개의 스레드를 생성 할 수 있지만 메모리 사용에주의해야합니다. –