feat(agent-dispatch): add job restart policy (#4401)

* feat(agent-dispatch): add job restart policy

* deps
This commit is contained in:
Anunay Maheshwari
2026-03-27 21:32:04 +05:30
committed by GitHub
parent 34bd1e0851
commit ff7fd7ed56
4 changed files with 66 additions and 64 deletions
+7 -6
View File
@@ -1846,12 +1846,13 @@ func (r *Room) createAgentDispatch(dispatch *livekit.AgentDispatch) (*agentDispa
return ad, nil
}
func (r *Room) createAgentDispatchFromParams(agentName string, metadata string) (*agentDispatch, error) {
func (r *Room) createAgentDispatchFromRoomDispatch(rad *livekit.RoomAgentDispatch) (*agentDispatch, error) {
return r.createAgentDispatch(&livekit.AgentDispatch{
Id: guid.New(guid.AgentDispatchPrefix),
AgentName: agentName,
Metadata: metadata,
Room: r.protoRoom.Name,
Id: guid.New(guid.AgentDispatchPrefix),
AgentName: rad.GetAgentName(),
Metadata: rad.GetMetadata(),
Room: r.protoRoom.Name,
RestartPolicy: rad.GetRestartPolicy(),
})
}
@@ -1867,7 +1868,7 @@ func (r *Room) createAgentDispatchesFromRoomAgent() {
}
for _, ag := range roomDisp {
_, err := r.createAgentDispatchFromParams(ag.AgentName, ag.Metadata)
_, err := r.createAgentDispatchFromRoomDispatch(ag)
if err != nil {
r.logger.Warnw("failed storing room dispatch", err)
}
+5 -4
View File
@@ -67,10 +67,11 @@ func (ag *AgentDispatchService) CreateDispatch(ctx context.Context, req *livekit
}
dispatch := &livekit.AgentDispatch{
Id: guid.New(guid.AgentDispatchPrefix),
AgentName: req.AgentName,
Room: req.Room,
Metadata: req.Metadata,
Id: guid.New(guid.AgentDispatchPrefix),
AgentName: req.AgentName,
Room: req.Room,
Metadata: req.Metadata,
RestartPolicy: req.RestartPolicy,
}
return ag.agentDispatchClient.CreateDispatch(ctx, ag.topicFormatter.RoomTopic(ctx, livekit.RoomName(req.Room)), dispatch)
}