Вопросы по теме 'eventmachine'

Ruby EventMachine + AMQP: обеспечение выполнения определенных асинхронных вызовов до возникновения исключений
Мы создаем систему обмена сообщениями на основе AMQP на Ruby. Однако у нас есть проблема с обработкой ошибок. Мы поддерживаем белый список исключений, которые являются безопасными, и сообщение в RabbitMQ может быть оставлено неподтвержденным и...
825 просмотров
schedule 14.05.2023

EventMachine — как понять, что вы отстаете?
Я изучаю возможность использования rubygem twitter-stream на базе EventMachine для отслеживания и захвата твитов. Я новичок во всем, что касается событийного программирования. Как я могу определить, не приводит ли какая-либо обработка, которую я...
462 просмотров
schedule 18.10.2023

Mutex Sleep занимает много ресурсов процессора
Я профилировал свое приложение, основанное на машине событий, с помощью ruby-prof и нашел следующее интересное: 5.28 0.00 5.28 0.00 4/4 Mutex#synchronize 90.72% 0.00% 5.28 0.00 5.28 0.00...
959 просмотров
schedule 18.09.2023

Как создать EventMachine внутри приложения Rails?
У меня есть приложение Rails, и я хочу добавить к нему поддержку WebSocket. Из различных поисковых запросов выяснилось, что лучшим решением WebSocket на основе Ruby является em-websocket , работающее на EventMachine. Мне было интересно, есть ли...
8298 просмотров

Как настроить систему чата PubSub с помощью EventMachine?
Я пытаюсь научиться EventMachine (и стать лучшим асинхронным программистом). Я думал, что пойду с классическим chat app . Мне удалось настроить сервер WebSocket (используя em-websocke t) и клиент WebSocket. Все было здорово, пока я не понял,...
653 просмотров

Падрино && веб-сокеты
я ищу способ открыть и использовать веб-сокеты из приложения Padrino . я знаю, что Padrino работает с одним потоком, но я ищу способ открывать веб-сокеты и обмениваться переменными между его методами «onopen», «onclose», «onmessage» и контроллерами...
1897 просмотров
schedule 19.12.2023

Чтение файла в EventMachine асинхронно
Я уже некоторое время играю с Ruby EventMachines и думаю, что понимаю его основы. Однако я не уверен, как эффективно читать большой файл (120 МБ). Моя цель - прочитать файл построчно и записать каждую строку в базу данных Cassandra (то же самое...
2394 просмотров

HTTP-запрос EventMachine не может подключиться за прокси-сервером через HTTPS
Я работаю с em-http, но не могу получить соединение HTTPS (SSL) за прокси. Вот мой код. require 'eventmachine' require 'em-http' url = "https://twitter.com/" opts = { :proxy => { :host => 'my.proxy', :port => 8080 } }...
959 просмотров
schedule 12.07.2022

Ruby Mechanize, Nokogiri и Net::HTTP
Я использую Net::HTTP для HTTP-запросов и получаю ответ: uri = URI("http://www.example.com") http = Net::HTTP.start(uri.host, uri.port, proxy_host, proxy_port) request = Net::HTTP::Get.new uri.request_uri response = http.request request #...
4387 просмотров

не могу запустить процесс Sinatra - eventmachine нет акцептора
У меня есть приложение Sinatra, которое я запускаю как демон, используя переадресацию портов Apache для связи между портами 80 и 7655. В прошлом это работало нормально. Сегодня не очень. Я не могу понять, почему. Проблема: sudo ruby...
2651 просмотров
schedule 22.10.2022

Пожалуйста, объясните логику этого примера рубинового волокна.
Пример кода взят из здесь : def http_get(url) f = Fiber.current http = EventMachine::HttpRequest.new(url).get # resume fiber once http call is done http.callback { f.resume(http) } http.errback { f.resume(http) } return...
774 просмотров
schedule 15.12.2023

Передача сообщений между соединениями EventMachine
Я пытаюсь написать сервер чата с помощью EventMachine. Как передать сообщение из одного соединения EventMachine в другое потокобезопасным способом? Я вижу, что поддерживается протокол обмена сообщениями (Stomp), но не могу понять, как его...
558 просмотров
schedule 08.08.2023

Использование HTTP-запроса Eventmachine в рабочем процессе Sidekiq
Допустим, у меня есть процесс sidekiq, который отправляет HTTP-запрос на публикацию, который я не хочу ждать. Я не хочу, чтобы это блокировало скорость рабочих. У меня есть идея использовать этот простой пример кода для Http-запроса EventMachine....
1736 просмотров
schedule 18.10.2023

Как избежать перезаписи исходного кода при компиляции Gem?
Я пытаюсь установить eventmachine Gem, однако нужно закомментировать строку в исходном коде чтобы это работало на Ruby 2.0 в Windows x64. Я попытался изменить исходный код Gem в папке сборки Ruby, но каждый раз, когда я запускаю gem install...
183 просмотров
schedule 10.11.2023

Блокирует ли это цикл событий?
У меня есть приложение sinatra , которое использует thin в качестве веб-сервера. Я взаимодействую со своей базой данных через ActiveRecord . Если в конечной точке, я делаю это: get '/test' do Model.create(.....) end Блокирует ли...
184 просмотров
schedule 11.03.2022

Golang — должны ли библиотеки быть неблокирующими?
Насколько я понимаю, неблокирующие веб-серверы (node.js, eventmachine, tornado) могут остановиться, если они обратятся к блокирующей библиотеке. Верно ли это и для Голанга? Если одна горутина блокируется, другой автоматически получает доступ к ЦП,...
1148 просмотров
schedule 08.05.2022

AMQP/RabbitMQ-Server/EventMachine с PhusionPassenger/Rails аварийно завершает работу
Я использую AMQP/RabbitMQ для своего приложения Ruby on Rails. Я поместил следующий файл amqp.rb под config/initializers : (Скопировано и изменено из рецепта:...
380 просмотров

Сервер веб-сокета машины событий: как отправлять периодические сообщения клиенту?
Я хотел бы использовать рубиновый язык gem em-websocket: https://github.com/igrigorik/em-websocket для запуска сервера веб-сокетов над машиной событий. Я успешно запускаю демонстрацию эхо-сервера: EM.run { EM::WebSocket.run(:host =>...
1376 просмотров

Лучше использовать EM.next_tick или EM.defer для длительных вычислений с помощью Eventmachine?
Я пытаюсь понять, как использовать deferrables, когда дело доходит до длительных вычислений, которые я должен реализовать самостоятельно. В моем примере я хочу вычислить первые 200 000 чисел Фибоначчи, но вернуть только определенное. Моя первая...
2684 просмотров

Повторное использование волокна в Ruby
Я использую EventMachine.open_keyboard в своем клиентском приложении irc, которое использует rbcurse (ncurses gem), следующим образом: Fiber.new do EM.open_keyboard(NbKeyboard) do |kb| $input = Readline.readline("") $buffer...
109 просмотров
schedule 11.08.2023