Design a system where an admin can trigger a machine learning model training job from a desktop application and check on its status later. Because training can take several minutes, this does not need to be real-time.
To give you some architectural context, the system is split into two parts:
-
A Core Service: This is our main backend API. It handles user requests, and receives the initial 'Train' request from the desktop app.
-
An ML Service: This is a separate service responsible for training the ML model.