heroku で eventmachine 上で rails で http を受けたり他のことをしたり
色々やりたい感じだったので
require ::File.expand_path('../config/environment', __FILE__) require 'bundler/setup' EM.run do # do something for eventmachine Thin::Server.start Rails.application, '0.0.0.0', ENV["PORT"] end
で、 forman で
web: bundle exec ruby start.rb
みたいな感じでやることで出来ました。
rails server thin -p $PORT などで上がった時に最初の一回だけ eventmachine な処理を書きたいけど、config.after_initialize などは rails の初期化の所なので、Thin::Server.start と自前で書くことで対処することにしました。