Categorygithub.com/bsm/feedx
modulepackage
0.13.0
Repository: https://github.com/bsm/feedx.git
Documentation: pkg.go.dev

# README

Feedx

Test License

Feed-based data exchange between services.

Usage (Ruby)

require 'bfs/s3'
require 'feedx'

# Init a new producer with an S3 destination
relation = Post.includes(:author)
producer = Feedx::Producer.new relation, 's3://my-bucket/feeds/users.json.gz'

# Push a new feed every hour
loop do
  producer.perform
  sleep(3600)
end

# Functions

DetectCompression detects the compression type from a URL path or file name.
DetectFormat detects the data format from a URL path or file name.
NewConsumer starts a new feed consumer.
NewConsumerForRemote starts a new feed consumer with a remote.
NewProducer inits a new feed producer.
NewProducerForRemote starts a new feed producer with a remote.
NewReader inits a new reader.
NewWriter inits a new feed writer.

# Variables

ErrNotModified is used to signal that something has not been modified.
FlateCompression supports flate compression format.
GZipCompression supports gzip compression format.
JSONFormat provides a Format implemention for JSON.
NoCompression is just a pass-through without compression.
ProtobufFormat provides a Format implemention for Protobuf.

# Structs

ConsumerOptions configure the consumer instance.
ConsumerSync contains the state of the last sync.
Producer (continously) produces a feed.
ProducerOptions configure the producer instance.
ProducerPush contains the state of the last push.
Reader reads data from a remote feed.
ReaderOptions configure the reader instance.
Writer encodes feeds to remote locations.
WriterOptions configure the producer instance.

# Interfaces

Compression represents the data compression.
Consumer manages data retrieval from a remote feed.
Format represents the data format.
FormatDecoder methods.
FormatEncoder methods.

# Type aliases

ConsumeFunc is a parsing callback which is run by the consumer every sync interval.
ProduceFunc is a callback which is run by the producer on every iteration.