queueing_proxy 0.0.6 → 0.0.7
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/bin/queueing_proxy +2 -2
- data/lib/queueing_proxy/dsl.rb +7 -7
- data/lib/queueing_proxy/frontend.rb +2 -2
- data/lib/queueing_proxy/version.rb +1 -1
- data/lib/queueing_proxy/worker.rb +1 -1
- metadata +9 -9
data/bin/queueing_proxy
CHANGED
@@ -9,7 +9,7 @@ EM.run{
|
|
9
9
|
QueueingProxy {
|
10
10
|
logger Logger.new($stdout)
|
11
11
|
|
12
|
-
from '0.0.0.0',
|
12
|
+
from '0.0.0.0', 10000
|
13
13
|
from '0.0.0.0', 10007
|
14
14
|
|
15
15
|
to '127.0.0.1', 10001, do
|
@@ -26,7 +26,7 @@ EM.run{
|
|
26
26
|
QueueingProxy {
|
27
27
|
logger Logger.new($stdout)
|
28
28
|
|
29
|
-
from '0.0.0.0',
|
29
|
+
from '0.0.0.0', 10009
|
30
30
|
|
31
31
|
to('127.0.0.1', 10001) do
|
32
32
|
workers 1
|
data/lib/queueing_proxy/dsl.rb
CHANGED
@@ -3,7 +3,7 @@ require 'logger'
|
|
3
3
|
module QueueingProxy
|
4
4
|
class DSL
|
5
5
|
class Backend
|
6
|
-
attr_reader :tube, :host
|
6
|
+
attr_reader :tube, :host, :beanstalk_host
|
7
7
|
|
8
8
|
def initialize(host='localhost', port=80, workers=4, &block)
|
9
9
|
@host, @port, @workers, @beanstalk_host, @tube = host, port, workers, 'localhost', 'default'
|
@@ -11,8 +11,8 @@ module QueueingProxy
|
|
11
11
|
self
|
12
12
|
end
|
13
13
|
|
14
|
-
def queue_with(
|
15
|
-
@
|
14
|
+
def queue_with(beanstalkd_host, tube)
|
15
|
+
@beanstalk_host, @tube = beanstalkd_host, tube
|
16
16
|
self
|
17
17
|
end
|
18
18
|
|
@@ -55,14 +55,14 @@ module QueueingProxy
|
|
55
55
|
unless EM.reactor_running?
|
56
56
|
EM.run{ run }
|
57
57
|
else
|
58
|
-
frontends.each do |host, port|
|
59
|
-
Frontend.new(@logger, host, port, backends).run
|
60
|
-
end
|
61
58
|
# Setup multiple backends
|
62
59
|
backends.each {|b|
|
63
60
|
b.logger @logger
|
64
|
-
b.workers.each(&:run)
|
61
|
+
b.workers.each(&:run)
|
65
62
|
}
|
63
|
+
frontends.each do |host, port|
|
64
|
+
Frontend.new(@logger, host, port, backends).run
|
65
|
+
end
|
66
66
|
end
|
67
67
|
end
|
68
68
|
|
@@ -4,12 +4,12 @@ module QueueingProxy
|
|
4
4
|
|
5
5
|
def initialize(logger, host, port, backends)
|
6
6
|
@logger, @host, @port, @backends = logger, host, port, backends
|
7
|
-
logger.info "
|
7
|
+
logger.info "Frontend reporting for duty at #{host}:#{port}. Connected to backend(s) through #{backends.map{|b| "#{b.tube}@#{b.beanstalk_host}"}.join(', ')}"
|
8
8
|
end
|
9
9
|
|
10
10
|
def beanstalks
|
11
11
|
@beanstalks ||= @backends.map {|b|
|
12
|
-
connection = EMJack::Connection.new(:host => b.
|
12
|
+
connection = EMJack::Connection.new(:host => b.beanstalk_host, :tube => b.tube)
|
13
13
|
connection.errback { logger.error "Couldn't connect to beanstalk" }
|
14
14
|
connection
|
15
15
|
}
|
@@ -23,7 +23,7 @@ module QueueingProxy
|
|
23
23
|
# Run the beanstalk consumer that pops the job off the queue and passes it
|
24
24
|
# to a connection object that makes an upstream connection
|
25
25
|
def run
|
26
|
-
logger.debug "Worker #{object_id} reporting again for duty"
|
26
|
+
logger.debug "Worker #{@tube}@#{@beanstalk_host} #{object_id} reporting again for duty"
|
27
27
|
beanstalk.reserve {|job|
|
28
28
|
logger.info "Worker #{object_id} reserved #{job}"
|
29
29
|
upstream = Upstream.new(job.body, @to_host, @to_port, 15, logger).request
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: queueing_proxy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -14,7 +14,7 @@ date: 2011-09-28 00:00:00.000000000Z
|
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: eventmachine
|
17
|
-
requirement: &
|
17
|
+
requirement: &70205884493120 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *70205884493120
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: em-jack
|
28
|
-
requirement: &
|
28
|
+
requirement: &70205884492040 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *70205884492040
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: thin
|
39
|
-
requirement: &
|
39
|
+
requirement: &70205884491620 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: '0'
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *70205884491620
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: http_parser.rb
|
50
|
-
requirement: &
|
50
|
+
requirement: &70205884491160 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ! '>='
|
@@ -55,7 +55,7 @@ dependencies:
|
|
55
55
|
version: '0'
|
56
56
|
type: :runtime
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *70205884491160
|
59
59
|
description: Queueing proxy backed by EM/Beanstalk for a very weird purpose.
|
60
60
|
email: joshbuddy@gmail.com
|
61
61
|
executables:
|