Skip to content

grubastik/feeddo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

feeddo

General description

This project implements parsing of Heaureka feeds and storing them into Kafka.

Topics which should be covered

  • feed could be downloaded or loaded from file
  • multiple feeds can be processed one by one
  • models added for feed xml and for kafka json object
  • price is parsed and all supported formats converted to decimal and error generated if price not supported
  • kafka topics populated (one topic contains all items and second only with price per click set)
  • metrics endpoint for prometeus and simple metrics should be created
  • docker file and docker compose file
  • convert cli to service with periodic processing provided urls

Usage

Feed references shoul be provided as a command line args: feeddo --feedUrl file:///feeds/some.xml --feedUrl http://some.host.org/src/someFeed.xml --kafkaUrl kafka.org

Short options also could be used feeddo -f file:///feeds/some.xml -f http://some.host.org/src/someFeed.xml -k kafka.org

Tests

Tests could be run with a command go test ./...

Benchmark

Need to find design for fixing/running benchmark Benchmarks can be run with a command go test cmd/feeddo -bench=. Results for different commits could be found in file benchmark_results.md Note: before running benchmarks gzipped files should be unzipped with the following command gunzip cmd/feeddo/testdata/*.gz

Prometeus metrics

Metrics exposed on port 2112. Available metrics per feed:

  • feed_[HOST_WITH_DOTS_REPLACED_BY_UNDERSCORES] 1 meens started and 0 meens finished
  • total_[HOST_WITH_DOTS_REPLACED_BY_UNDERSCORES] total number of items processed
  • succeeded_[HOST_WITH_DOTS_REPLACED_BY_UNDERSCORES] total number of items which processed successfully
  • failed_[HOST_WITH_DOTS_REPLACED_BY_UNDERSCORES] total number of items which processed with error

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors