package managed_job import ( "flink-kube-operator/internal/jar" "gitea.com/logicamp/lc" api "github.com/logi-camp/go-flink-client" "go.uber.org/zap" ) // upload jar file and set the jarId for later usages func (job *ManagedJob) upload() error { jarFile, err := jar.NewJarFile(job.def.Spec.JarURI) if err != nil { lc.Logger.Debug("[main] error on download jar", zap.Error(err)) return err } fileName, err := jarFile.Upload(job.client) jarFile.Delete() if err != nil { lc.Logger.Debug("[main] error on upload jar", zap.Error(err)) return err } lc.Logger.Debug("[main] after upload jar", zap.Any("upload-jar-resp", fileName)) job.jarId = fileName return nil } // run the job from saved jarId in managedJob func (job *ManagedJob) run() error { runJarResp, err := job.client.RunJar(api.RunOpts{ JarID: job.jarId, AllowNonRestoredState: true, EntryClass: job.def.Spec.EntryClass, }) if err != nil { lc.Logger.Error("[managed-job] [run]", zap.Error(err)) return err } lc.Logger.Debug("[main] after run jar", zap.Any("run-jar-resp", runJarResp)) job.updateState(jobState{JobId: &runJarResp.JobId, Status: JobStatusCreating}) return err }