fluent-plugin-feedly 0.0.2 → 0.0.3
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.md +4 -1
- data/fluent-plugin-feedly.gemspec +1 -1
- data/lib/fluent/plugin/in_feedly.rb +13 -8
- metadata +2 -2
data/README.md
CHANGED
@@ -7,7 +7,7 @@ Fluentd input plugin to fetch RSS/ATOM feed via feedly Cloud API.
|
|
7
7
|
## Dependencies
|
8
8
|
|
9
9
|
* Ruby 1.9.3+
|
10
|
-
* Fluentd 0.10.
|
10
|
+
* Fluentd 0.10.55+
|
11
11
|
|
12
12
|
## Installation
|
13
13
|
|
@@ -19,6 +19,9 @@ $ gem install fluent-plugin-feedly
|
|
19
19
|
|
20
20
|
# for td-agent
|
21
21
|
$ sudo /usr/lib64/fluent/ruby/bin/fluent-gem install fluent-plugin-feedly
|
22
|
+
|
23
|
+
# for td-agent2
|
24
|
+
$ sudo td-agent-gem install fluent-plugin-feedly
|
22
25
|
`````
|
23
26
|
|
24
27
|
## Configuration
|
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "fluent-plugin-feedly"
|
7
|
-
spec.version = "0.0.
|
7
|
+
spec.version = "0.0.3"
|
8
8
|
spec.authors = ["Kentaro Yoshida"]
|
9
9
|
spec.email = ["y.ken.studio@gmail.com"]
|
10
10
|
spec.summary = %q{Fluentd input plugin to fetch RSS/ATOM feed via feedly Cloud API.}
|
@@ -35,13 +35,11 @@ module Fluent
|
|
35
35
|
|
36
36
|
@client = Feedlr::Client.new(
|
37
37
|
oauth_access_token: @access_token,
|
38
|
-
sandbox: @enable_sandbox
|
38
|
+
sandbox: @enable_sandbox
|
39
39
|
)
|
40
40
|
end
|
41
41
|
|
42
42
|
def start
|
43
|
-
@profile_id = @client.user_profile.id
|
44
|
-
@state_store = StateStore.new(@state_file)
|
45
43
|
@thread = Thread.new(&method(:run))
|
46
44
|
end
|
47
45
|
|
@@ -54,26 +52,32 @@ module Fluent
|
|
54
52
|
loop do
|
55
53
|
begin
|
56
54
|
fetch
|
55
|
+
rescue Feedlr::Error::Unauthorized, Feedlr::Error::Forbidden => e
|
56
|
+
log.error "Feedly: unrecoverable error has occoured.", error: e.message, error_class: e.class
|
57
|
+
log.error_backtrace e.backtrace
|
58
|
+
break
|
57
59
|
rescue => e
|
58
|
-
log.error "Feedly:
|
60
|
+
log.error "Feedly: error has occoured. trying to retry after #{@run_interval} seconds.", error: e.message, error_class: e.class
|
59
61
|
log.error_backtrace e.backtrace
|
60
62
|
sleep @run_interval
|
61
63
|
retry
|
62
64
|
end
|
63
65
|
sleep @run_interval
|
64
66
|
end
|
67
|
+
log.error "Feedly: stopped fetching process due to the previous error."
|
65
68
|
end
|
66
69
|
|
67
70
|
def fetch
|
71
|
+
@profile_id ||= @client.user_profile.id
|
72
|
+
@state_store ||= StateStore.new(@state_file)
|
68
73
|
@subscribe_categories.each do |category_name|
|
69
74
|
category_id = "user/#{@profile_id}/category/#{category_name}"
|
70
75
|
fetch_time_range = get_fetch_time_range
|
71
|
-
loop
|
76
|
+
loop do
|
72
77
|
request_option = { count: @fetch_count, continuation: get_continuation_id, newerThan: fetch_time_range }
|
73
78
|
cursor = @client.stream_entries_contents(category_id, request_option)
|
74
79
|
if cursor.items.nil?
|
75
|
-
|
76
|
-
break
|
80
|
+
return raise Feedlr::Error::ServerError, cursor
|
77
81
|
end
|
78
82
|
cursor.items.each do |item|
|
79
83
|
Engine.emit(@tag, Engine.now, item)
|
@@ -81,7 +85,7 @@ module Fluent
|
|
81
85
|
log.info "Feedly: fetched articles.", articles: cursor.items.size, request_option: request_option
|
82
86
|
set_continuation_id(cursor.continuation)
|
83
87
|
break if get_continuation_id.nil?
|
84
|
-
|
88
|
+
end
|
85
89
|
end
|
86
90
|
end
|
87
91
|
|
@@ -150,3 +154,4 @@ module Fluent
|
|
150
154
|
end
|
151
155
|
end
|
152
156
|
end
|
157
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-feedly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-10-
|
12
|
+
date: 2014-10-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fluentd
|