Używam private_pub do implementacji aplikacji typu "jeden do jednego".Ruby on Rails - Faye Framework - private_pub
Oto moja historia: jako użytkownik, chciałbym, aby otrzymać wiadomość gdy mój partner opuści czat - zamyka okno, itp
Patrząc przez Faye Monitoring docs tutaj jest moja próba wiążące unsubscribe
:
# Run with: rackup private_pub.ru -s thin -E production
require "bundler/setup"
require "yaml"
require "faye"
require "private_pub"
require "active_support/core_ext"
Faye::WebSocket.load_adapter('thin')
PrivatePub.load_config(File.expand_path("../config/private_pub.yml", __FILE__), ENV["RAILS_ENV"] || "development")
wts_pubsub = PrivatePub.faye_app
wts_pubsub.bind(:subscribe) do |client_id, channel|
puts "[#{Time.now}] Client #{client_id} joined #{channel}"
end
wts_pubsub.bind(:unsubscribe) do |client_id, channel|
puts "[#{Time.now}] Client #{client_id} disconnected from #{channel}"
PrivatePub.publish_to channel, { marius_says: 'quitter' }
end
run wts_pubsub
ale wciąż otrzymuję limity czasu: [ERROR] [Faye::RackAdapter] Timeout::Error
Wpisując do PrivatePub#publish_to
, dane zawierają to, czego oczekuję zarówno podczas publikowania z aplikacji Rails, jak i private_pub, ale aplikacja private_pub zawiesza się.
Jak można uzyskać publikowanie z private_pub do pracy?
Ten wątek jest nieco stary; Czy wiesz, jaki jest problem? Spędzałem wiele godzin nad tym problemem bez większego powodzenia. – Etienne