Real Time Testing with centinel
Opened this issue · 1 comments
The server should be able to send a list of urls to the client, and the client should run at real time.
The plan right now is to write a small separate program that listens on an event bus for test requests. When those requests come in, the program writes files to the local file system in the format Centinel can understand, and then runs Centinel pointing to those files. This should be equivalent to the current cron job, just run on-demand. It should also keep me out of the Centinel codebase.
IM has used the event bus model in the past, and though it adds a little bit of complication, we prefer it to a straight-up HTTP API for a number of reasons. We get test queue management, a client library, some robustness guarantees (like ACKing and retries), and more flexible worker architectures (e.g. multiple workers per queue) without having to build any of that ourselves.