diff --git a/backend/app/jobs/download_from_alioss.go b/backend/app/jobs/download_from_alioss.go index 12abcc4..1bcda59 100644 --- a/backend/app/jobs/download_from_alioss.go +++ b/backend/app/jobs/download_from_alioss.go @@ -2,7 +2,6 @@ package jobs import ( "context" - "errors" "os" "path/filepath" "time" @@ -75,7 +74,7 @@ func (w *DownloadFromAliOSSWorker) Work(ctx context.Context, job *Job[DownloadFr } } else { if st.Size() == media.Size { - return JobCancel(errors.New("file already downloaded")) + return w.NextJob(media.Hash) } else { // remove file if err := os.Remove(dst); err != nil { @@ -93,15 +92,18 @@ func (w *DownloadFromAliOSSWorker) Work(ctx context.Context, job *Job[DownloadFr log.Infof("Successfully downloaded file: %s", media.Path) - if err := w.job.Add(&VideoCut{MediaHash: job.Args.MediaHash}); err != nil { + return w.NextJob(media.Hash) +} + +func (w *DownloadFromAliOSSWorker) NextJob(hash string) error { + if err := w.job.Add(&VideoCut{MediaHash: hash}); err != nil { log.Errorf("Error adding job: %v", err) return err } - if err := w.job.Add(&VideoExtractHeadImage{MediaHash: job.Args.MediaHash}); err != nil { + if err := w.job.Add(&VideoExtractHeadImage{MediaHash: hash}); err != nil { log.Errorf("Error adding job: %v", err) return err } - return nil }