2015-06-11 2 views
1

У меня есть клиент ruby ​​ruby ​​для рабочего героя (с использованием sidekiq - 5 потоков), который публикуется на сервере faye, работающем на linode.Faye Ruby Server Side Опубликовать на Heroku - обнаружено переполнение буфера EventMachine

Работник падает через несколько минут после обнаружения переполнения буфера .

* Код

EM.epoll 

    EM.run { 
    publication = @client.publish('/glive-bullion','body'=>body) 

    publication.callback do 
     EM.stop_event_loop 
    end 

    publication.errback do |error| 
     puts 'There was a problem: ' + error.message 
     EM.stop_event_loop 
    end 

    } 

Я попытался следующие: 1) EM.epoll перед тем EM.run 2) EM.stop_event_loop в соответствующих обратных вызовов.

Я понимаю, что ограничение дескриптора файла вызывает эту проблему.

Вопрос: Как освободить клиента и остановить цикл событий EM, чтобы полностью открыть открытый файл?

Это связано с тем, что sidekiq работает в режиме с резьбой?

ответ

0

Хорошо, я понял ошибку.

Я создавал клиента вне блока EM.run. Как только я переместил инициализацию внутри блока EM.run, все работало нормально.

 Смежные вопросы

  • Нет связанных вопросов^_^