feat: add rest routes to take the control of flink jobs

This commit is contained in:
2025-01-09 00:22:53 +03:30
parent 4dd82c6380
commit 0df874b222
14 changed files with 1019 additions and 12 deletions

View File

@@ -14,12 +14,12 @@ func (job *ManagedJob) Cycle() {
// Init job
if job.def.Status.LifeCycleStatus == "" && job.def.Status.JobStatus == "" {
job.run(false)
job.Run(false)
return
}
if job.def.Status.JobStatus == v1alpha1.JobStatusFinished && job.def.Status.LifeCycleStatus == v1alpha1.LifeCycleStatusGracefullyPaused {
job.run(true)
job.Run(true)
return
}

View File

@@ -2,7 +2,6 @@ package managed_job
import (
"flink-kube-operator/internal/jar"
"flink-kube-operator/pkg"
"go.uber.org/zap"
@@ -30,3 +29,16 @@ func (job *ManagedJob) upload() error {
})
return nil
}
func (job *ManagedJob) RemoveJar() {
if job.def.Status.JarId != nil {
err := job.client.DeleteJar(*job.def.Status.JarId)
pkg.Logger.Error("[managed-job] [jar]", zap.Error(err))
err = job.crd.Patch(job.def.UID, map[string]interface{}{
"status": map[string]interface{}{
"jarId": nil,
},
})
pkg.Logger.Error("[managed-job] [jar]", zap.Error(err))
}
}

View File

@@ -10,7 +10,7 @@ import (
"go.uber.org/zap"
)
func (job *ManagedJob) pause() error {
func (job *ManagedJob) Pause() error {
var err error
if job.def.Status.JobId != nil {
result, stopJobErr := job.client.StopJobWithSavepoint(*job.def.Status.JobId, os.Getenv("SAVEPOINT_PATH"), false)

View File

@@ -1,5 +1,5 @@
package managed_job
func (job *ManagedJob) Stop() {
job.client.StopJob(*job.def.Status.JobId)
func (job *ManagedJob) Stop() error {
return job.client.StopJob(*job.def.Status.JobId)
}

View File

@@ -11,8 +11,8 @@ import (
"go.uber.org/zap"
)
// run the job from savepoint and jarId in managedJob
func (job *ManagedJob) run(restoreMode bool) error {
// Run the job from savepoint and jarId in managedJob
func (job *ManagedJob) Run(restoreMode bool) error {
var savepointPath string
if job.def.Status.LastSavepointPath == nil {
pkg.Logger.Error("[managed-job] [restore]", zap.Error(v1alpha1.ErrNoSavepointPath))

View File

@@ -18,7 +18,7 @@ func (job *ManagedJob) upgrade() {
"jarId": job.def.Status.JarId,
},
})
err := job.pause()
err := job.Pause()
if err != nil {
pkg.Logger.Error("[managed-job] [upgrade] error in pausing", zap.Error(err))
return
@@ -30,7 +30,7 @@ func (job *ManagedJob) upgrade() {
zap.Error(err),
)
err = job.run(true)
err = job.Run(true)
if err != nil {
pkg.Logger.Error("[managed-job] [upgrade] error in running", zap.Error(err))
return