Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refiner service with data caching #11

Open
7 tasks
alex855k opened this issue Nov 20, 2018 · 0 comments · May be fixed by CSProjectsEAL/GraBID-Microservices#2
Open
7 tasks

Refiner service with data caching #11

alex855k opened this issue Nov 20, 2018 · 0 comments · May be fixed by CSProjectsEAL/GraBID-Microservices#2
Assignees
Labels
in progress priority: high Priority for issues which MUST BE implemented. type: infrastructure Task related to improvement of infrastructure. type: story Feature to be implemented based on a user story description
Milestone

Comments

@alex855k
Copy link
Contributor

alex855k commented Nov 20, 2018

📋 User story

As a system I want a service that is able to refine the data and cache it in an appropriate data store

Description

The system needs as service that is able to consume data from rabbitMQ queues. Then take that data and refine it by adding or removing data attributes, and generally restructuring data. When the data is processed, it then needs to be stored persistently in a database layer for caching purposes, but should allow for enough abstraction that developers can add any other type of DB adapter The purpose is to have a service that takes care of processing data and storing it in MongoDB. In this use-case, if ElasticSearch crashes, it needs to have a place where it can restore data independently of the original source, ie. a "cache" server for history logs.

Prerequisites

  • Setup a MongoDB database.

Acceptance Criteria

  • The refiner needs to be able to subscribe to queues in RabbitMQ
  • Based on the queue(subscription) you should be able to add different processors to the type of queue, ie. creating two outputs for one message. For instance originalData[A, B ]->["Hello A, Hello B"] AND ["Bye A, Bye B"].
  • It needs to be able to perform the actions based; storing it in database, sending it to a queue.
  • It needs to have an abstract database adapter, that is used for a MongoDB that can has the details on how to structure the data in the key-value store.
  • Errors needs to be logged along with actions in the system and then parsed by a Humio formatter, and put in var/main.log.
  • The micro-service needs to follow a 12-factor app methodology.
@alex855k alex855k added this to the Sprint 1 milestone Nov 20, 2018
@alex855k alex855k assigned alex855k and unassigned alex855k Nov 20, 2018
@alex855k alex855k added type: story Feature to be implemented based on a user story description type: infrastructure Task related to improvement of infrastructure. labels Nov 20, 2018
@alex855k alex855k changed the title As a system I want to refine the data and cache it in an appropriate data store As a system I want a service that is able to refine the data and optionally cache it in an appropriate data store Nov 20, 2018
@alex855k alex855k changed the title As a system I want a service that is able to refine the data and optionally cache it in an appropriate data store As a system I want a service that is able to refine the data and cache it in an appropriate data store Nov 20, 2018
@alex855k alex855k changed the title As a system I want a service that is able to refine the data and cache it in an appropriate data store Refiner service with data caching Nov 21, 2018
@alex855k alex855k added priority: high Priority for issues which MUST BE implemented. backlog sprint backlog and removed backlog labels Nov 21, 2018
@alex855k alex855k self-assigned this Nov 23, 2018
@alex855k alex855k changed the title Refiner service with data caching Adjust refiner service with data caching Nov 23, 2018
@alex855k alex855k changed the title Adjust refiner service with data caching Refiner service with data caching Nov 23, 2018
@alex855k alex855k modified the milestones: Sprint 1, Sprint 2 Nov 25, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in progress priority: high Priority for issues which MUST BE implemented. type: infrastructure Task related to improvement of infrastructure. type: story Feature to be implemented based on a user story description
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants