juggernaut 0.5.4 → 0.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/juggernaut.rb +2 -1
- data/lib/juggernaut/client.rb +3 -2
- data/lib/juggernaut/runner.rb +13 -2
- data/lib/juggernaut/server.rb +3 -1
- metadata +65 -55
data/lib/juggernaut.rb
CHANGED
data/lib/juggernaut/client.rb
CHANGED
@@ -145,9 +145,10 @@ module Juggernaut
|
|
145
145
|
params << "session_id=#{session_id}" if session_id
|
146
146
|
channels.each {|chan| params << "channels[]=#{chan}" }
|
147
147
|
url.query = params.join('&')
|
148
|
-
begin
|
148
|
+
begin
|
149
149
|
open(url.to_s, "User-Agent" => "Ruby/#{RUBY_VERSION}")
|
150
|
-
rescue
|
150
|
+
rescue => e
|
151
|
+
logger.debug("Bad response from #{url.to_s}: #{e}")
|
151
152
|
return false
|
152
153
|
end
|
153
154
|
true
|
data/lib/juggernaut/runner.rb
CHANGED
@@ -31,7 +31,7 @@ module Juggernaut
|
|
31
31
|
parse_options
|
32
32
|
|
33
33
|
if !File.exists?(config_path)
|
34
|
-
puts "You must generate a config file (juggernaut -g)"
|
34
|
+
puts "You must generate a config file (juggernaut -g filename.yml)"
|
35
35
|
exit
|
36
36
|
end
|
37
37
|
|
@@ -62,10 +62,17 @@ module Juggernaut
|
|
62
62
|
stop
|
63
63
|
exit
|
64
64
|
}
|
65
|
+
|
66
|
+
if options[:descriptor_table_size]
|
67
|
+
EM.epoll
|
68
|
+
new_size = EM.set_descriptor_table_size( options[:descriptor_table_size] )
|
69
|
+
logger.debug "New descriptor-table size is #{new_size}"
|
70
|
+
end
|
65
71
|
|
66
72
|
EventMachine::run {
|
67
73
|
EventMachine::add_periodic_timer( options[:cleanup_timer].to_i ) { Juggernaut::Client.send_logouts_after_timeout }
|
68
74
|
EventMachine::start_server(options[:host], options[:port].to_i, Juggernaut::Server)
|
75
|
+
EM.set_effective_user( options[:user] ) if options[:user]
|
69
76
|
}
|
70
77
|
end
|
71
78
|
|
@@ -105,6 +112,10 @@ module Juggernaut
|
|
105
112
|
opts.on("-p", "--port PORT", Integer, "Specify port", "(default: #{options[:port]})") do |v|
|
106
113
|
options[:port] = v
|
107
114
|
end
|
115
|
+
|
116
|
+
opts.on("-s", "--fdsize SIZE", Integer, "Set the file descriptor size an user epoll() on Linux", "(default: use select() which is limited to 1024 clients)") do |v|
|
117
|
+
options[:descriptor_table_size] = v
|
118
|
+
end
|
108
119
|
|
109
120
|
opts.separator ""; opts.separator "Daemonization:"
|
110
121
|
|
@@ -116,7 +127,7 @@ module Juggernaut
|
|
116
127
|
options[:daemonize] = v
|
117
128
|
end
|
118
129
|
|
119
|
-
opts.on("-k", "--kill PORT", String, "Kill specified running daemons - leave blank to kill all.") do |v|
|
130
|
+
opts.on("-k", "--kill PORT", String, :OPTIONAL, "Kill specified running daemons - leave blank to kill all.") do |v|
|
120
131
|
options[:kill] = v
|
121
132
|
end
|
122
133
|
|
data/lib/juggernaut/server.rb
CHANGED
@@ -350,13 +350,15 @@ module Juggernaut
|
|
350
350
|
url = URI.parse(options[:broadcast_query_login_url])
|
351
351
|
params = []
|
352
352
|
params << "client_id=#{@request[:client_id]}" if @request[:client_id]
|
353
|
-
params << "session_id=#{@request[:session_id]}" if @request[:session_id]
|
353
|
+
params << "session_id=#{URI.escape(@request[:session_id])}" if @request[:session_id]
|
354
354
|
params << "type=#{@request[:type]}"
|
355
355
|
params << "command=#{@request[:command]}"
|
356
356
|
(@request[:channels] || []).each {|chan| params << "channels[]=#{chan}" }
|
357
357
|
url.query = params.join('&')
|
358
358
|
begin
|
359
359
|
open(url.to_s, "User-Agent" => "Ruby/#{RUBY_VERSION}")
|
360
|
+
rescue Timeout::Error
|
361
|
+
return false
|
360
362
|
rescue
|
361
363
|
return false
|
362
364
|
end
|
metadata
CHANGED
@@ -1,66 +1,22 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.4
|
3
|
-
specification_version: 1
|
4
2
|
name: juggernaut
|
5
3
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.5.
|
7
|
-
date: 2008-04-04 00:00:00 +01:00
|
8
|
-
summary: FIX (describe your package)
|
9
|
-
require_paths:
|
10
|
-
- lib
|
11
|
-
email: info@eribium.org
|
12
|
-
homepage: http://juggernaut.rubyforge.org
|
13
|
-
rubyforge_project: juggernaut
|
14
|
-
description: FIX (describe your package)
|
15
|
-
autorequire:
|
16
|
-
default_executable:
|
17
|
-
bindir: bin
|
18
|
-
has_rdoc: true
|
19
|
-
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
|
-
requirements:
|
21
|
-
- - ">"
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 0.0.0
|
24
|
-
version:
|
4
|
+
version: 0.5.5
|
25
5
|
platform: ruby
|
26
|
-
signing_key:
|
27
|
-
cert_chain:
|
28
|
-
post_install_message:
|
29
6
|
authors:
|
30
7
|
- Alex MacCaw
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
- README.txt
|
35
|
-
- Rakefile
|
36
|
-
- bin/juggernaut
|
37
|
-
- lib/juggernaut.rb
|
38
|
-
- lib/juggernaut/client.rb
|
39
|
-
- lib/juggernaut/message.rb
|
40
|
-
- lib/juggernaut/miscel.rb
|
41
|
-
- lib/juggernaut/runner.rb
|
42
|
-
- lib/juggernaut/server.rb
|
43
|
-
- lib/juggernaut/utils.rb
|
44
|
-
test_files: []
|
45
|
-
|
46
|
-
rdoc_options:
|
47
|
-
- --main
|
48
|
-
- README.txt
|
49
|
-
extra_rdoc_files:
|
50
|
-
- History.txt
|
51
|
-
- Manifest.txt
|
52
|
-
- README.txt
|
53
|
-
executables:
|
54
|
-
- juggernaut
|
55
|
-
extensions: []
|
56
|
-
|
57
|
-
requirements: []
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
58
11
|
|
12
|
+
date: 2008-08-03 00:00:00 +01:00
|
13
|
+
default_executable:
|
59
14
|
dependencies:
|
60
15
|
- !ruby/object:Gem::Dependency
|
61
16
|
name: eventmachine
|
17
|
+
type: :runtime
|
62
18
|
version_requirement:
|
63
|
-
version_requirements: !ruby/object:Gem::
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
64
20
|
requirements:
|
65
21
|
- - ">="
|
66
22
|
- !ruby/object:Gem::Version
|
@@ -68,8 +24,9 @@ dependencies:
|
|
68
24
|
version:
|
69
25
|
- !ruby/object:Gem::Dependency
|
70
26
|
name: json
|
27
|
+
type: :runtime
|
71
28
|
version_requirement:
|
72
|
-
version_requirements: !ruby/object:Gem::
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
30
|
requirements:
|
74
31
|
- - ">="
|
75
32
|
- !ruby/object:Gem::Version
|
@@ -77,10 +34,63 @@ dependencies:
|
|
77
34
|
version:
|
78
35
|
- !ruby/object:Gem::Dependency
|
79
36
|
name: hoe
|
37
|
+
type: :development
|
80
38
|
version_requirement:
|
81
|
-
version_requirements: !ruby/object:Gem::
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
82
40
|
requirements:
|
83
41
|
- - ">="
|
84
42
|
- !ruby/object:Gem::Version
|
85
|
-
version: 1.
|
43
|
+
version: 1.7.0
|
86
44
|
version:
|
45
|
+
description: FIX (describe your package)
|
46
|
+
email: info@eribium.org
|
47
|
+
executables:
|
48
|
+
- juggernaut
|
49
|
+
extensions: []
|
50
|
+
|
51
|
+
extra_rdoc_files:
|
52
|
+
- History.txt
|
53
|
+
- Manifest.txt
|
54
|
+
- README.txt
|
55
|
+
files:
|
56
|
+
- History.txt
|
57
|
+
- Manifest.txt
|
58
|
+
- README.txt
|
59
|
+
- Rakefile
|
60
|
+
- bin/juggernaut
|
61
|
+
- lib/juggernaut.rb
|
62
|
+
- lib/juggernaut/client.rb
|
63
|
+
- lib/juggernaut/message.rb
|
64
|
+
- lib/juggernaut/miscel.rb
|
65
|
+
- lib/juggernaut/runner.rb
|
66
|
+
- lib/juggernaut/server.rb
|
67
|
+
- lib/juggernaut/utils.rb
|
68
|
+
has_rdoc: true
|
69
|
+
homepage: http://juggernaut.rubyforge.org
|
70
|
+
post_install_message:
|
71
|
+
rdoc_options:
|
72
|
+
- --main
|
73
|
+
- README.txt
|
74
|
+
require_paths:
|
75
|
+
- lib
|
76
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
77
|
+
requirements:
|
78
|
+
- - ">="
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: "0"
|
81
|
+
version:
|
82
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
83
|
+
requirements:
|
84
|
+
- - ">="
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: "0"
|
87
|
+
version:
|
88
|
+
requirements: []
|
89
|
+
|
90
|
+
rubyforge_project: juggernaut
|
91
|
+
rubygems_version: 1.2.0
|
92
|
+
signing_key:
|
93
|
+
specification_version: 2
|
94
|
+
summary: FIX (describe your package)
|
95
|
+
test_files: []
|
96
|
+
|