-
Notifications
You must be signed in to change notification settings - Fork 32
Federated Solving Payloads
This is the preliminary sequence for state management of federated solves:
//INIT
{
"Id": "GUID",
"EnvironmentId": "",
"multisessionSolverId": "",
"step": "INIT",
"sessions": [
{
"userId":"",
"robotId":"",
"sessionId": "",
"status": "",
"resultDebug": ""
},
{
"userId":"",
"robotId":"",
"sessionId": "",
"status": "",
"resultDebug": ""
},
]
}//BUILDINGPRIMES { "Id": "GUID", "EnvironmentId": "", "step": "BUILDINGPRIMES", "sessions": [ { "userId":"", "robotId":"", "sessionId": "", "status": "" }, { "userId":"", "robotId":"", "sessionId": "" "status": "" }, ] }
//INDIVIDUALSOLVES { "Id": "GUID", "EnvironmentId": "", "step": "INDIVIDUALSOLVES", "sessions": [ { "userId":"", "robotId":"", "sessionId": "", "primeVariables": ["l0", "l1", "l2"] "status": "WAITING" }, { "userId":"", "robotId":"", "sessionId": "", "primeVariables": ["l1", "l2"] "status": "WAITING" }, ] }
- Push individual solves
// When individual solves complete, they each update status.... //INDIVIDUALSOLVES { "Id": "GUID", "EnvironmentId": "", "step": "INDIVIDUALSOLVES", "sessions": [ { "userId":"", "robotId":"", "sessionId": "", "status": "COMPLETE" }, { "userId":"", "robotId":"", "sessionId": "", "status": "COMPLETE" }, ] }
//If individual fails, then we need to trigger somehow { "Id": "GUID", "EnvironmentId": "", "step": "INDIVIDUALSOLVES", "sessions": [ { "userId":"", "robotId":"", "sessionId": "", "status": "COMPLETE" }, { "userId":"", "robotId":"", "sessionId": "", "status": "ERROR" }, ] }
// All solved - propagate back to primes { "Id": "GUID", "EnvironmentId": "", "step": "CONSENSUS", "sessions": [ { "userId":"", "robotId":"", "sessionId": "", "status": "COMPLETE" }, { "userId":"", "robotId":"", "sessionId": "", "status": "COMPLETE" }, ] }
// Complete { "Id": "GUID", "EnvironmentId": "", "step": "FINISHED", "sessions": [ { "userId":"", "robotId":"", "sessionId": "", "status": "COMPLETE" }, { "userId":"", "robotId":"", "sessionId": "", "status": "COMPLETE" }, ] }