fluent-plugin-sqs 0.1.1 → 0.2.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/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: []