jam-cloud/web/config/initializers/eventmachine.rb

32 lines
1.4 KiB
Ruby

unless $rails_rake_task
JamWebEventMachine.start
if APP_CONFIG.websocket_gateway_enable && !$rails_rake_task && ENV['NO_WEBSOCKET_GATEWAY'] != '1'
current = Thread.current
Thread.new do
JamWebsockets::Server.new.run(
:port => APP_CONFIG.websocket_gateway_port,
:emwebsocket_debug => APP_CONFIG.websocket_gateway_internal_debug,
:connect_time_stale_client => APP_CONFIG.websocket_gateway_connect_time_stale_client,
:connect_time_expire_client => APP_CONFIG.websocket_gateway_connect_time_expire_client,
:connect_time_stale_browser => APP_CONFIG.websocket_gateway_connect_time_stale_browser,
:connect_time_expire_browser => APP_CONFIG.websocket_gateway_connect_time_expire_browser,
:max_connections_per_user => APP_CONFIG.websocket_gateway_max_connections_per_user,
:influxdb_database => APP_CONFIG.influxdb_database,
:influxdb_username => APP_CONFIG.influxdb_username,
:influxdb_password => APP_CONFIG.influxdb_password,
:influxdb_hosts => APP_CONFIG.influxdb_hosts,
:influxdb_port => APP_CONFIG.influxdb_port,
:rabbitmq_host => APP_CONFIG.rabbitmq_host,
:rabbitmq_port => APP_CONFIG.rabbitmq_port,
:calling_thread => current,
:cidr => APP_CONFIG.websocket_gateway_cidr,
:gateway_name => "default-#{ENV["JAM_INSTANCE"] || 1}")
end
Thread.stop
end
end