Add SCUM log sessions and trajectory projections

This commit is contained in:
npc0-hue
2026-08-27 12:34:07 +08:00
parent 0940780058
commit 316efbe780
38 changed files with 1549 additions and 84 deletions
+14 -1
View File
@@ -50,7 +50,17 @@ func (svc *CoreService) ClaimRunJob(claim domain.RunJobClaim) (domain.RunJobClai
}
job, ok := firstEligibleSupportedJob(jobs, claim.Capabilities, stamp)
if !ok {
return emptyJobClaim(claim.RunEndpointID, stamp), nil
if err := svc.scheduleDuePluginQueryProjectionJobs(claim, stamp); err != nil {
return domain.RunJobClaimResult{}, err
}
jobs, err = svc.store.Jobs().List(domain.JobFilter{RunEndpointID: claim.RunEndpointID})
if err != nil {
return domain.RunJobClaimResult{}, err
}
job, ok = firstEligibleSupportedJob(jobs, claim.Capabilities, stamp)
if !ok {
return emptyJobClaim(claim.RunEndpointID, stamp), nil
}
}
leaseToken, err := randomToken()
@@ -342,6 +352,9 @@ func (svc *CoreService) CompleteRunJob(result domain.RunJobResult) (domain.RunJo
if err := svc.projectPluginOperationsJobResult(job, stamp); err != nil {
return domain.RunJobResultResult{}, err
}
if err := svc.projectPluginQueryJobResult(job, stamp); err != nil {
return domain.RunJobResultResult{}, err
}
return domain.RunJobResultResult{Accepted: true, Job: assignmentFromJob(job, result.LeaseToken), ServerTime: stamp}, nil
}