[P] Ranking data handlers based on statistics
I have a problem that I’m looking to solve and want some direction.
I have data that I need to process and I have handlers that I need to rank. The handlers are essentially people that may be able to process each piece of data. Each piece of data that comes in is sent to the handlers for them to process. If they are unable to process it, then I send it to the next handler. I do this until one of the handlers successfully processes it or I have exhausted all the handlers.
I have several criteria that I’m using to rank the handlers. For example, how frequently they successfully handle a piece of data, how long they take to process the data, and a score for how well they handled it (successful solutions can be graded and although any is acceptable, we would prefer the one that produces the better answer).
Given a bunch of data with the above statistics, I would like to do two things. First, produce a report that ranks the handlers. This is currently done manually so I would like to automate this step. Second, I would like to have the dispatcher respond in real time to changes in the statistics. For example, if one of the handlers starts taking longer than normal then we should deprioritizing subsequent requests to that handler until they improve.
Are there recommendations for a toolkit or a subset of algorithms that I should be researching? Any pointers are appreciated.