betfair / cougar

Cougar is a framework for making building network exposed service interfaces easy.
http://betfair.github.io/cougar
Apache License 2.0
27 stars 18 forks source link

QoS capability #19

Closed eswdd closed 10 years ago

eswdd commented 10 years ago

Various requests merge into one:

Thoughts on how to implement:

Have a list of monitors (or a status aggregator) with thresholds that cause a trigger (seperate to impact on monitoring status), and then based on that execute pieces of logic to process a request at the entry to the EV (and maybe to it's Q), to allow rejection of requests with a reason.

eswdd commented 10 years ago

Currently working in the QoS branch. Have added a capability for having ExecutionPreProcessor which will be executed both prior to enqueuing in EV queue and also post. Have added a QoSProcessor which takes a Monitor, a triggering Status and an ExecutionPreProcessor to execute when triggered. Then implementation of those requirements above become relatively simple.

TODO:

eswdd commented 10 years ago

QoS branch has now been merged into master. The Monitor has been changed to a StatusSource to enable a wider range of use cases.

eswdd commented 10 years ago

Have broken out the client time sections to #55 as this is less urgent.

eswdd commented 10 years ago

Gist describing how to configure this: https://gist.github.com/eswdd/7683613

eswdd commented 10 years ago

Marking as done since the load average monitor is not critical for the framework, only for the usecase that drove the feature. Documentation will be covered in the general doco issue #41