From 206aee69519d5c9269cccbfef81a39873f82ff25 Mon Sep 17 00:00:00 2001 From: rogeecn Date: Mon, 17 Mar 2025 09:56:47 +0800 Subject: [PATCH] fix: add missing job provider --- .../project/providers/job/provider.go.tpl | 35 ++++++++++++------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/templates/project/providers/job/provider.go.tpl b/templates/project/providers/job/provider.go.tpl index 6ce6590..77ed4f3 100644 --- a/templates/project/providers/job/provider.go.tpl +++ b/templates/project/providers/job/provider.go.tpl @@ -114,22 +114,31 @@ func (q *Job) StopAndCancel(ctx context.Context) error { } func (q *Job) AddPeriodicJobs(job contracts.CronJob) (map[string]rivertype.PeriodicJobHandle, error) { - client, err := q.Client() - if err != nil { - return nil, err - } + var err error handles := make(map[string]rivertype.PeriodicJobHandle) for _, job := range job.Args() { - handles[job.Kind] = client.PeriodicJobs().Add(river.NewPeriodicJob( - job.PeriodicInterval, - func() (river.JobArgs, *river.InsertOpts) { - return job.Arg, lo.ToPtr(job.Arg.InsertOpts()) - }, - &river.PeriodicJobOpts{ - RunOnStart: job.RunOnStart, - }, - )) + handles[job.Kind], err = q.AddPeriodicJob(job) + if err != nil { + return handles, err + } } return handles, nil } + +func (q *Job) AddPeriodicJob(job contracts.CronJobArg) (rivertype.PeriodicJobHandle, error) { + client, err := q.Client() + if err != nil { + return 0, err + } + + return client.PeriodicJobs().Add(river.NewPeriodicJob( + job.PeriodicInterval, + func() (river.JobArgs, *river.InsertOpts) { + return job.Arg, lo.ToPtr(job.Arg.InsertOpts()) + }, + &river.PeriodicJobOpts{ + RunOnStart: job.RunOnStart, + }, + )), nil +}