feat: add rest routes to take the control of flink jobs
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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))
|
||||
}
|
||||
}
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user