_ _ _
_ __ | || | | |_ | '_ \ | | | | / |/ \ | || | / \ / || |/ _ \ | '| | |) || || || (| (_) || || || /| ( | || () || | | ./ _, | _|\/ |||| _| _| __|__/ || |_| |___/ by Intelie
Collecting data should be simple.
Moving data from A to B is a well known task in computing. Our aim here is to make it easier to 'develop' and 'configure' a piece of software to collect data.
There are two main components of any collecting process:
Readers Piece of code that takes the responsability of going to the source of the data and prepare it to be written somewhere else.
Writers Piece of code that takes a read message and delivers to the destination.
A pair reader/writer is called collecting unit. Readers and writers may make any transformation to the original data.
Collecting unit architecture:
It is possible to configure as many collecting units as needed.
There are two ways to use it.
configuring you may configure a predefined reader/writer for you needs.
development you may adapt an existing reader/writer or code a new one.
A reader/writer always have a 'type' property. This 'type' will define how the data will be read by a reader or written by a writer.
Moreover, readers and writers have properties in common, regardless of their types:
'blockable' if 'blockable : True' is set to a reader, the message will wait for a slot in queue. if 'blockable : True' is set to a writer, it will try to rewrite the message. default value: True
'period' if 'period : N' is set to a reader, the method read() will be called periodically, with period N (in seconds) if 'period : N' is set to a writer, the method write(msg) will be called periodically, with period N (in seconds) default value: None, default is to be async, read()/write() are called just once.
... (TODO: complete list)
Improving core; Increasing test coverage.