feat: provider support job mode

This commit is contained in:
Rogee
2024-12-27 20:52:18 +08:00
parent 2fbc3d9fee
commit cdcf20ed33
7 changed files with 131 additions and 60 deletions

View File

@@ -19,7 +19,9 @@ func Provide(opts ...opt.Option) error {
) ({{.ReturnType}}, error) {
obj := &{{.StructName}}{
{{- range $key, $param := .InjectParams }}
{{- if ne $key "__job"}}
{{$key}}: {{$key}},
{{- end}}
{{- end }}
}
{{- if .NeedPrepareFunc }}
@@ -27,6 +29,12 @@ func Provide(opts ...opt.Option) error {
return nil, err
}
{{- end }}
{{- if eq .Mode "job"}}
if err := river.AddWorkerSafely(__job.Workers, obj); err != nil {
return nil, err
}
{{- end }}
return obj, nil
}{{if .ProviderGroup}}, {{.ProviderGroup}}{{end}}); err != nil {
return err