You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Right now all components communicate synchronously via HTTP requests (it's node, so they're async calls but one service waits on another and the message fails to pass if the service goes down). We can (and should) be able to use a message queue to make this more reliable and decrease the risk of overwhelming the workers. This will also enable us to restart the container manager service without the risk of orphaning a builds half way through (and while we're at it we should store what containers need to be stopped and when so that we can still shut down old containers after a restart).
My approach is to create a PublishEvent interface that can fire off post requests, issue events through an EventEmitter (for in process event transmission especially useful for mocking in unit tests), and enable us to use a message queue like kafka.
The text was updated successfully, but these errors were encountered:
Right now all components communicate synchronously via HTTP requests (it's node, so they're async calls but one service waits on another and the message fails to pass if the service goes down). We can (and should) be able to use a message queue to make this more reliable and decrease the risk of overwhelming the workers. This will also enable us to restart the container manager service without the risk of orphaning a builds half way through (and while we're at it we should store what containers need to be stopped and when so that we can still shut down old containers after a restart).
My approach is to create a
PublishEvent
interface that can fire off post requests, issue events through an EventEmitter (for in process event transmission especially useful for mocking in unit tests), and enable us to use a message queue like kafka.The text was updated successfully, but these errors were encountered: