Class: Udp2sqsServer::Server
- Inherits:
-
Object
- Object
- Udp2sqsServer::Server
- Defined in:
- lib/udp2sqs_server/server.rb
Instance Method Summary collapse
- #configure(host: "0.0.0.0", port: 9732, threadpool_size: 100) ⇒ Object
-
#initialize ⇒ Server
constructor
A new instance of Server.
- #run ⇒ Object
Constructor Details
#initialize ⇒ Server
Returns a new instance of Server.
9 10 11 |
# File 'lib/udp2sqs_server/server.rb', line 9 def initialize @host, @port, @threadpool_size = "0.0.0.0", 9732, 100 end |
Instance Method Details
#configure(host: "0.0.0.0", port: 9732, threadpool_size: 100) ⇒ Object
13 14 15 |
# File 'lib/udp2sqs_server/server.rb', line 13 def configure(host: "0.0.0.0", port: 9732, threadpool_size: 100) @host, @port, @threadpool_size = host, port, threadpool_size end |
#run ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/udp2sqs_server/server.rb', line 17 def run EM.threadpool_size = @threadpool_size EM.run do warmup_threads = proc do i = 0 i += 1 end EM.defer(warmup_threads) config = YAML.load_file("queue.yaml") s = UDPSocket.new s.bind(@host, @port) loop do text, sender = s.recvfrom(1024) operation = proc do sqs = Fog::AWS::SQS.new( :aws_access_key_id => config['access_key'], :aws_secret_access_key => config['secret_key'], :region => config['queue_region'] ) sqs.(config['queue_url'], text) end EM.defer(operation) end end end |