iclab / centinel

http://iclab.org/
MIT License
34 stars 17 forks source link

Real Time Testing with centinel #284

Open arianniaki opened 6 years ago

arianniaki commented 6 years ago

The server should be able to send a list of urls to the client, and the client should run at real time.

jdcc commented 6 years ago

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.