From 0015e2eee284d52b393689e4a61d214d05d6a0cf Mon Sep 17 00:00:00 2001 From: rogeecn Date: Fri, 21 Mar 2025 19:25:58 +0800 Subject: [PATCH] fix: issues --- pkg/ast/provider/provider.go.tpl | 4 +-- templates/jobs/job.go.tpl | 30 ++++++++----------- templates/project/app/jobs/demo_job.go.tpl | 11 +++---- .../project/providers/job/provider.go.tpl | 13 -------- 4 files changed, 17 insertions(+), 41 deletions(-) diff --git a/pkg/ast/provider/provider.go.tpl b/pkg/ast/provider/provider.go.tpl index 7510c03..4f39a18 100644 --- a/pkg/ast/provider/provider.go.tpl +++ b/pkg/ast/provider/provider.go.tpl @@ -45,9 +45,7 @@ func Provide(opts ...opt.Option) error { {{- end }} {{ if eq .Mode "cronjob" }} - if _, err := __job.AddPeriodicJobs(obj); err != nil { - return nil, err - } + container.Later(func() error { return __job.AddPeriodicJobs(obj) }) {{- end}} return obj, nil diff --git a/templates/jobs/job.go.tpl b/templates/jobs/job.go.tpl index 97cb7f5..8f5f52e 100644 --- a/templates/jobs/job.go.tpl +++ b/templates/jobs/job.go.tpl @@ -4,21 +4,16 @@ import ( "context" "time" - _ "go.ipao.vip/atom" - _ "go.ipao.vip/atom/contracts" . "github.com/riverqueue/river" + _ "go.ipao.vip/atom" + "go.ipao.vip/atom/contracts" ) -var ( - _ JobArgs = (*{{.Name}}Job)(nil) - _ JobArgsWithInsertOpts = (*{{.Name}}Job)(nil) -) +var _ contracts.JobArgs = (*{{.Name}})(nil) -type {{.Name}}Job struct { -} +type {{.Name}} struct {} -// InsertOpts implements JobArgsWithInsertOpts. -func (s {{.Name}}Job) InsertOpts() InsertOpts { +func (s {{.Name}}) InsertOpts() InsertOpts { return InsertOpts{ Queue: QueueDefault, Priority: PriorityDefault, @@ -28,21 +23,20 @@ func (s {{.Name}}Job) InsertOpts() InsertOpts { } } -func ({{.Name}}Job) Kind() string { - return "{{.Name}}Job" -} +func ({{.Name}}) Kind() string { return "{{.Name}}" } +func (arg {{.Name}}) UniqueID() string { return arg.Kind()} -var _ Worker[{{.Name}}Job] = (*{{.Name}}JobWorker)(nil) +var _ Worker[{{.Name}}] = (*{{.Name}}Worker)(nil) // @provider(job) -type {{.Name}}JobWorker struct { - WorkerDefaults[{{.Name}}Job] +type {{.Name}}Worker struct { + WorkerDefaults[{{.Name}}] } -func (w *{{.Name}}JobWorker) NextRetry(job *Job[{{.Name}}Job]) time.Time { +func (w *{{.Name}}Worker) NextRetry(job *Job[{{.Name}}]) time.Time { return time.Now().Add(5 * time.Second) } -func (w *{{.Name}}JobWorker) Work(ctx context.Context, job *Job[{{.Name}}Job]) error { +func (w *{{.Name}}Worker) Work(ctx context.Context, job *Job[{{.Name}}]) error { return nil } diff --git a/templates/project/app/jobs/demo_job.go.tpl b/templates/project/app/jobs/demo_job.go.tpl index ff6db4a..b9a01d7 100644 --- a/templates/project/app/jobs/demo_job.go.tpl +++ b/templates/project/app/jobs/demo_job.go.tpl @@ -8,13 +8,11 @@ import ( . "github.com/riverqueue/river" log "github.com/sirupsen/logrus" _ "go.ipao.vip/atom" + "go.ipao.vip/atom/contracts" _ "go.ipao.vip/atom/contracts" ) -var ( - _ JobArgs = SortArgs{} - _ JobArgsWithInsertOpts = SortArgs{} -) +var _ contracts.JobArgs = SortArgs{} type SortArgs struct { Strings []string `json:"strings"` @@ -27,9 +25,8 @@ func (s SortArgs) InsertOpts() InsertOpts { } } -func (SortArgs) Kind() string { - return "sort" -} +func (SortArgs) Kind() string { return "sort" } +func (a SortArgs) UniqueID() string { return a.Kind() } var _ Worker[SortArgs] = (*SortWorker)(nil) diff --git a/templates/project/providers/job/provider.go.tpl b/templates/project/providers/job/provider.go.tpl index 25c3331..6613007 100644 --- a/templates/project/providers/job/provider.go.tpl +++ b/templates/project/providers/job/provider.go.tpl @@ -2,7 +2,6 @@ package job import ( "context" - "quyun/providers/postgres" "sync" "{{.ModuleName}}/providers/postgres" @@ -18,18 +17,6 @@ import ( "go.ipao.vip/atom/container" "go.ipao.vip/atom/contracts" "go.ipao.vip/atom/opt" - - "github.com/jackc/pgx/v5" - "github.com/jackc/pgx/v5/pgxpool" - "github.com/pkg/errors" - "github.com/riverqueue/river" - "github.com/riverqueue/river/riverdriver/riverpgxv5" - "github.com/riverqueue/river/rivertype" - "github.com/samber/lo" - log "github.com/sirupsen/logrus" - "go.ipao.vip/atom/container" - "go.ipao.vip/atom/contracts" - "go.ipao.vip/atom/opt" ) func Provide(opts ...opt.Option) error {