Тщеславие не использует сервер Redis to Go на Heroku - PullRequest
2 голосов
/ 28 октября 2011

Я недавно развернул несколько экспериментов A / B-тестирования с использованием тщеславия в моем экземпляре heroku. Однако всякий раз, когда я получаю доступ к панели инструментов, т.е. / vanity, в журналах появляется следующая ошибка

- ActionView::Template::Error (Connection refused - Unable to connect to Redis on 127.0.0.1:6379):
-     1: <ul class="experiments">
-     2:   <% experiments.sort_by { |id, experiment| experiment.created_at }.reverse.each do |id, experiment| %>
-     3:     <li class="experiment <%= experiment.type %>" id="experiment_<%=vanity_h id.to_s %>">
-     4:     <%= render :file => Vanity.template("_experiment"), :locals => { :id => id, :experiment => experiment } %>
-     5:     </li>
-   

Однако, redis to go url, кажется, настроен правильно, и тщеславие, похоже, может получить к нему доступ например

irb(main):011:0> Vanity.playground.connection
=> redis://bluegill.redistogo.com:9231/0

Кто-нибудь знает, что я могу делать не так?

 my vanity.rb config file is fairly standard

    development:
      adapter: redis
      connection: redis://localhost:6379/0
    qa:
      adapter: redis
      connection: <%= ENV["REDISTOGO_URL"] %>
    staging:
      adapter: redis
      connection: <%= ENV["REDISTOGO_URL"] %>
    production:
      adapter: redis
      connection: <%= ENV["REDISTOGO_URL"] %>

а также ENV ["REDISTOGO_URL"] кажется правильным

irb(main):012:0> ENV["REDISTOGO_URL"]
=> "redis://redistogo:e1ab3fa23beacbcd481cd4508ad0090c@bluegill.redistogo.com:9231/"

И я могу получить доступ к Redis из остальной части приложения, просто кажется, что Vanity не подбирает его для этого шаблона ..

1 Ответ

3 голосов
/ 29 октября 2011

Хорошо, я понял это. Когда мы работали с единорогом, я не подключался к правильному серверу redis и вместо этого использовал по умолчанию localhost. Этот фрагмент кода в unicorn.rb сортирует его.

after_fork do |server, worker|
  # the following is *required* for Rails + "preload_app true",
  ActiveRecord::Base.establish_connection
  Vanity.playground.establish_connection(ENV["REDISTOGO_URL"]) 
end

Я уверен, что это похоже на другие серверы разветвления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...