Keep AI jobs alive during processing
This commit is contained in:
@@ -542,6 +542,24 @@ RETURNING ` + jobSelectColumns + `
|
||||
return job, err
|
||||
}
|
||||
|
||||
func (s *Store) HeartbeatJob(ctx context.Context, id uuid.UUID) error {
|
||||
const q = `
|
||||
UPDATE ai_jobs
|
||||
SET heartbeat_at = NOW(),
|
||||
updated_at = NOW()
|
||||
WHERE id = $1
|
||||
AND status = 'running'
|
||||
`
|
||||
tag, err := s.pool.Exec(ctx, q, id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if tag.RowsAffected() == 0 {
|
||||
return nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *Store) FailJob(ctx context.Context, id uuid.UUID, in model.FailJob) (*model.Job, error) {
|
||||
errorCode := strings.TrimSpace(in.ErrorCode)
|
||||
if errorCode == "" {
|
||||
|
||||
Reference in New Issue
Block a user