fluent-plugin-sqs 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -27,12 +27,12 @@ Store fluent-event as queue message to amazon SQS.
27
27
   
28
28
  sqs_endpoint {endpointURL}
29
29
 
30
- ###endpoint list###
31
- #Tokyo(Default) : sqs.ap-northeast-1.amazonaws.com
32
- #Singapore : sqs.ap-southeast-1.amazonaws.com
33
- #US-East : sqs.us-east-1.amazonaws.com
34
- #US-West : sqs.us-west-1.amazonaws.com
35
- #EU-West : sqs.eu-west-1.amazonaws.com
30
+ ### endpoint list ###
31
+ # Tokyo(Default) : sqs.ap-northeast-1.amazonaws.com
32
+ # Singapore : sqs.ap-southeast-1.amazonaws.com
33
+ # US-East : sqs.us-east-1.amazonaws.com
34
+ # US-West : sqs.us-west-1.amazonaws.com
35
+ # EU-West : sqs.eu-west-1.amazonaws.com
36
36
 
37
37
  </match>
38
38
 
data/Rakefile CHANGED
@@ -13,6 +13,7 @@ begin
13
13
  gemspec.has_rdoc = false
14
14
  gemspec.require_paths = ["lib"]
15
15
  gemspec.add_dependency "fluentd", "~> 0.10.0"
16
+ gemspec.add_dependency "aws-sdk", "~> 1.3.2"
16
17
  gemspec.test_files = Dir["test/**/*.rb"]
17
18
  gemspec.files = Dir["lib/**/*", "test/**/*.rb"] + %w[VERSION AUTHORS Rakefile]
18
19
  gemspec.executables = []
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.2.0
@@ -2,7 +2,7 @@ module Fluent
2
2
 
3
3
  require 'aws-sdk'
4
4
 
5
- class SQSOutput < Output
5
+ class SQSOutput < BufferedOutput
6
6
 
7
7
  Fluent::Plugin.register_output('sqs', self)
8
8
 
@@ -16,15 +16,16 @@ module Fluent
16
16
  config_param :aws_sec_key, :string
17
17
  config_param :queue_name, :string
18
18
  config_param :sqs_endpoint, :string, :default => 'sqs.ap-northeast-1.amazonaws.com'
19
-
20
-
19
+ config_param :delay_seconds, :integer, :default => 0
20
+ #config_param :buffer_queue_limit, :integer, :default => 10
21
+
21
22
  def configure(conf)
22
23
  super
23
24
  end
24
25
 
25
26
  def start
26
27
  super
27
- p @sqs_endpoint
28
+
28
29
  AWS.config(
29
30
  :access_key_id => @aws_key_id,
30
31
  :secret_access_key => @aws_sec_key,
@@ -32,21 +33,32 @@ module Fluent
32
33
 
33
34
  @sqs = AWS::SQS.new
34
35
  @queue = @sqs.queues.create(@queue_name)
36
+
37
+ loop do
38
+ records = [{ :message_body => "abcdefg"},{ :message_body => "12345"}]
39
+ @queue.batch_send(records)
40
+ end
35
41
 
36
42
  end
37
43
 
38
44
  def shutdown
39
45
  super
40
46
  end
41
-
42
- def emit(tag, es, chain)
43
- es.each {|time,record|
44
- record["time"] = Time.at(time).localtime
45
- msg = @queue.send_message(record.to_json)
46
- $stderr.puts "sent message: #{msg.id}"
47
- }
48
- chain.next
47
+
48
+ def format(tag, time, record)
49
+ record.to_msgpack
50
+ end
51
+
52
+ def write(chunk)
53
+ records = []
54
+ chunk.msgpack_each {|record| records << { :message_body => record.to_json, :delay_seconds => @delay_seconds } }
55
+ until records.length <= 0 do
56
+ begin
57
+ @queue.batch_send(records.slice!(0..9))
58
+ rescue => e
59
+ $stderr.puts e
60
+ end
61
+ end
49
62
  end
50
-
51
63
  end
52
64
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-sqs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-10-17 00:00:00.000000000Z
12
+ date: 2012-02-02 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fluentd
16
- requirement: &70232190821720 !ruby/object:Gem::Requirement
16
+ requirement: &70146417674160 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,7 +21,18 @@ dependencies:
21
21
  version: 0.10.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70232190821720
24
+ version_requirements: *70146417674160
25
+ - !ruby/object:Gem::Dependency
26
+ name: aws-sdk
27
+ requirement: &70146417673600 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: 1.3.2
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70146417673600
25
36
  description:
26
37
  email: ixixizko@gmail.com
27
38
  executables: []