lambda-queuer 0.0.0
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/lambda-queuer.rb +35 -0
- metadata +80 -0
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'amqp'
|
3
|
+
require 'sourcify'
|
4
|
+
|
5
|
+
class LambdaQueuer
|
6
|
+
def initialize(exchange, routing_key, host='127.0.0.1', port=5672)
|
7
|
+
@host = host
|
8
|
+
@port = port
|
9
|
+
@exchange = exchange
|
10
|
+
@routing_key = routing_key
|
11
|
+
end
|
12
|
+
|
13
|
+
def post(&block)
|
14
|
+
EventMachine.run do
|
15
|
+
begin
|
16
|
+
connection = AMQP.connect(:host => @host, :port => @port)
|
17
|
+
puts "Connected to AMQP broker. Running #{AMQP::VERSION} version of the gem..."
|
18
|
+
channel = AMQP::Channel.new(connection)
|
19
|
+
exchange = channel.direct(@exchange, :auto_delete => true)
|
20
|
+
queue = channel.queue(@routing_key, :auto_delete => false, :passive => true)
|
21
|
+
queue.bind(exchange, :routing_key => @routing_key)
|
22
|
+
v = block.to_source
|
23
|
+
exchange.publish(v, :routing_key => @routing_key)
|
24
|
+
EventMachine.add_timer(2) do
|
25
|
+
connection.close { EventMachine.stop }
|
26
|
+
end
|
27
|
+
rescue => e
|
28
|
+
puts e
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
LambdaQueuer.new('lambda_exchange', 'lambda').post {|all| all}
|
35
|
+
|
metadata
ADDED
@@ -0,0 +1,80 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: lambda-queuer
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 31
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- 0
|
10
|
+
version: 0.0.0
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Avishek Sen Gupta
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2011-09-17 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: sourcify
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
25
|
+
requirements:
|
26
|
+
- - ">="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
hash: 11
|
29
|
+
segments:
|
30
|
+
- 0
|
31
|
+
- 5
|
32
|
+
- 0
|
33
|
+
version: 0.5.0
|
34
|
+
type: :runtime
|
35
|
+
version_requirements: *id001
|
36
|
+
description: A class atop sourcify and amqp which can queue stringified lambdas over RabbitMQ. It is untested on free variables.
|
37
|
+
email: avishek.sen.gupta@gmail.com
|
38
|
+
executables: []
|
39
|
+
|
40
|
+
extensions: []
|
41
|
+
|
42
|
+
extra_rdoc_files: []
|
43
|
+
|
44
|
+
files:
|
45
|
+
- lib/lambda-queuer.rb
|
46
|
+
homepage: http://rubygems.org/gems/lambda-queuer
|
47
|
+
licenses: []
|
48
|
+
|
49
|
+
post_install_message:
|
50
|
+
rdoc_options: []
|
51
|
+
|
52
|
+
require_paths:
|
53
|
+
- lib
|
54
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
55
|
+
none: false
|
56
|
+
requirements:
|
57
|
+
- - ">="
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
hash: 3
|
60
|
+
segments:
|
61
|
+
- 0
|
62
|
+
version: "0"
|
63
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
64
|
+
none: false
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
hash: 3
|
69
|
+
segments:
|
70
|
+
- 0
|
71
|
+
version: "0"
|
72
|
+
requirements: []
|
73
|
+
|
74
|
+
rubyforge_project:
|
75
|
+
rubygems_version: 1.7.2
|
76
|
+
signing_key:
|
77
|
+
specification_version: 3
|
78
|
+
summary: A simple class atop sourcify and amqp which can queue stringified lambdas over RabbitMQ
|
79
|
+
test_files: []
|
80
|
+
|