mirror of
https://github.com/livekit/livekit.git
synced 2026-08-28 00:44:12 +00:00
feat(agent-dispatch): add job restart policy (#4401)
* feat(agent-dispatch): add job restart policy * deps
This commit is contained in:
+7
-6
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user