refactor: update job status before notification and consolidate deletion logic in worker loop
This commit is contained in:
@@ -81,25 +81,28 @@ func (m *Manager) processNextJob() {
|
|||||||
job := jobs[0]
|
job := jobs[0]
|
||||||
log.Printf("Starting job %d for %s", job.ID, job.FilePath)
|
log.Printf("Starting job %d for %s", job.ID, job.FilePath)
|
||||||
|
|
||||||
m.NotifySSE("job_started", job)
|
|
||||||
|
|
||||||
err = db.UpdateJobStatus(job.ID, "processing", "")
|
err = db.UpdateJobStatus(job.ID, "processing", "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("Failed to update job status: %v", err)
|
log.Printf("Failed to update job status: %v", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
job.Status = "processing"
|
||||||
|
job.UpdatedAt = time.Now()
|
||||||
|
m.NotifySSE("job_started", job)
|
||||||
|
|
||||||
err = m.runEncoder(job)
|
err = m.runEncoder(job)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("Job %d failed: %v", job.ID, err)
|
log.Printf("Job %d failed: %v", job.ID, err)
|
||||||
db.UpdateJobStatus(job.ID, "failed", err.Error())
|
db.UpdateJobStatus(job.ID, "failed", err.Error())
|
||||||
db.AddJobReport(job, "failed", 0, 0, 0)
|
db.AddJobReport(job, "failed", 0, 0, 0)
|
||||||
|
db.DeleteJob(job.ID)
|
||||||
m.NotifySSE("job_failed", map[string]interface{}{"id": job.ID, "error": err.Error()})
|
m.NotifySSE("job_failed", map[string]interface{}{"id": job.ID, "error": err.Error()})
|
||||||
} else {
|
} else {
|
||||||
log.Printf("Job %d succeeded", job.ID)
|
log.Printf("Job %d succeeded", job.ID)
|
||||||
|
db.DeleteJob(job.ID)
|
||||||
m.NotifySSE("job_completed", map[string]interface{}{"id": job.ID})
|
m.NotifySSE("job_completed", map[string]interface{}{"id": job.ID})
|
||||||
}
|
}
|
||||||
db.DeleteJob(job.ID)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Manager) runEncoder(job db.Job) error {
|
func (m *Manager) runEncoder(job db.Job) error {
|
||||||
|
|||||||
Reference in New Issue
Block a user