Вопросы по теме '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 просмотров
schedule
05.11.2023
Как настроить систему чата PubSub с помощью EventMachine?
Я пытаюсь научиться EventMachine (и стать лучшим асинхронным программистом). Я думал, что пойду с классическим chat app .
Мне удалось настроить сервер WebSocket (используя em-websocke t) и клиент WebSocket. Все было здорово, пока я не понял,...
653 просмотров
schedule
28.04.2024
Падрино && веб-сокеты
я ищу способ открыть и использовать веб-сокеты из приложения Padrino . я знаю, что Padrino работает с одним потоком, но я ищу способ открывать веб-сокеты и обмениваться переменными между его методами «onopen», «onclose», «onmessage» и контроллерами...
1897 просмотров
schedule
19.12.2023
Чтение файла в EventMachine асинхронно
Я уже некоторое время играю с Ruby EventMachines и думаю, что понимаю его основы.
Однако я не уверен, как эффективно читать большой файл (120 МБ). Моя цель - прочитать файл построчно и записать каждую строку в базу данных Cassandra (то же самое...
2394 просмотров
schedule
20.02.2022
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 просмотров
schedule
19.03.2023
не могу запустить процесс 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 просмотров
schedule
12.04.2022
Сервер веб-сокета машины событий: как отправлять периодические сообщения клиенту?
Я хотел бы использовать рубиновый язык gem em-websocket: https://github.com/igrigorik/em-websocket для запуска сервера веб-сокетов над машиной событий.
Я успешно запускаю демонстрацию эхо-сервера:
EM.run {
EM::WebSocket.run(:host =>...
1376 просмотров
schedule
02.10.2022
Лучше использовать EM.next_tick или EM.defer для длительных вычислений с помощью Eventmachine?
Я пытаюсь понять, как использовать deferrables, когда дело доходит до длительных вычислений, которые я должен реализовать самостоятельно. В моем примере я хочу вычислить первые 200 000 чисел Фибоначчи, но вернуть только определенное.
Моя первая...
2684 просмотров
schedule
06.12.2022
Повторное использование волокна в 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