From 202e94c020d3fc6cb43d373b0b6d99882fd012ac Mon Sep 17 00:00:00 2001 From: yanghao05 Date: Tue, 22 Apr 2025 14:49:22 +0800 Subject: [PATCH] feat: fix jobs --- backend/app/jobs/download_from_alioss.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) 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 }