EfficioFeeder processes RSS/Atom streams. Each stream can contain one or more RSS/Atom feeds to process and number of HTTP endpoints to POST new items.
Fully Cloud-based, uses Iron.io infrastructure.
- Clone this repository
- Configure your
iron.json
- Configure your streams in
config.yaml
- Upload and schedule
Configuration is placed in two files:
iron.json
- configuration for Iron.io librariesconfig.yaml
- configuration forEfficioFeeder::Worker
Basicly, iron.json
must contain JSON
with two parameters:
{
"project_id": "PROJECT_ID",
"token": "TOKEN"
}
More on Iron.io services configuration you can find out there.
Typically configuration looks like:
streams:
- feeds:
- http://featalion.blogspot.com/feeds/posts/default
- http://blog.iron.io/feeds/posts/default
subscribers:
- http://first.your.end.point.com/post_update
- http://second.your.end.point.com/post_update
queue_name: feeds_notifications
cache_name: feeds
output_type: rss2.0 # rss0.9, rss1.0, rss2.0, atom or atom1.0
Parameters:
streams
: required,Array
ofHash
es which are contains next fieldsfeeds
: required,Array
ofString
s. Each element in it will be treat as RSS/Atom feed URLsubscribers: required,
Array ofStrings
. Each element in it will be treated as endpoint URL to POST new stream's itemsqueue_name
: required, name of your queue on Iron.io to send stream's new itemscache_name
: required, name of the cache to store latest feeds' dataoutput_type
: optional,String
type of the items to POST to endpoint. Acceptable values arerss0.9
,rss1.0
,rss2.0
,atom
,atom1.0
First, install iron_worker_ng
gem
gem install iron_worker_ng
Then upload and queue (to launch once) or schedule the worker itself
iron_worker upload efficio_feeder
iron_worker queue efficio_feeder
© 2013 Yury Yantsevich