используя apn_sender на героку - PullRequest
2 голосов
/ 07 июля 2011

Мы построили API в рельсах и размещаем его на heroku и используем apn_sender для push-уведомлений. У нас все работает локально с помощью apn_sender, но когда мы загружаем его в heroku и запускаем

heroku rake apn:sender

появляется следующее сообщение об ошибке: «Отказано в соединении - невозможно подключиться к Redis 127.0.0.1:6379"

»

Мы добавили редистого аддона.

UPDATE

Мы добавили инициализатор resque.rb:

require 'resque'

uri = URI.parse(ENV["REDISTOGO_URL"])
Resque.redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)

и вызвал для запуска рабочего

heroku rake environment apn:sender

и все, казалось, работало.

1 Ответ

2 голосов
/ 08 июля 2011

Хорошо, поэтому после дальнейшего тестирования, обновление, которое я вставил выше, не будет работать очень долго, прежде чем оно выйдет из строя.Затем мы последовали за этим http://blog.redistogo.com/2010/07/26/resque-with-redis-to-go/

Изменение

task "resque:setup" => :environment do
  ENV['QUEUE'] = '*'
end

на

task "apn:setup" => :environment do
  ENV['QUEUE'] = '*'
end

и

desc "Alias for resque:work (To run workers on Heroku)"
task "jobs:work" => "resque:work"

на

desc "Alias for apn:work (To run workers on Heroku)"
task "jobs:work" => "apn:work"

и это сработало как шарм.Также обратите внимание, что нам пришлось добавить рабочий герой в Heroku, который стоит 0,05 / час или 35 долларов в месяц.

...