-
Notifications
You must be signed in to change notification settings - Fork 31
Federated Solving Payloads
GearsAD edited this page Mar 21, 2019
·
3 revisions
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"
},
]
}