KillTask V2

This commit is contained in:
ananaysingh 2022-08-12 22:52:03 +05:30
parent 7c6af7de68
commit db2d4e9e17
2 changed files with 14 additions and 5 deletions

View file

@ -14,6 +14,8 @@
package cmd package cmd
import ( import (
"strconv"
realis "github.com/aurora-scheduler/gorealis/v2" realis "github.com/aurora-scheduler/gorealis/v2"
"github.com/spf13/cobra" "github.com/spf13/cobra"
) )
@ -29,10 +31,12 @@ func init() {
killTaskCmd.Flags().StringVarP(env, "environment", "e", "", "Aurora Environment") killTaskCmd.Flags().StringVarP(env, "environment", "e", "", "Aurora Environment")
killTaskCmd.Flags().StringVarP(role, "role", "r", "", "Aurora Role") killTaskCmd.Flags().StringVarP(role, "role", "r", "", "Aurora Role")
killTaskCmd.Flags().StringVarP(name, "name", "n", "", "Aurora Name") killTaskCmd.Flags().StringVarP(name, "name", "n", "", "Aurora Name")
killTaskCmd.Flags().StringVarP(instance, "instance", "i", "", "Instance number")
killTaskCmd.Flags().BoolVarP(&monitor, "monitor", "m", true, "monitor the result after sending the command") killTaskCmd.Flags().BoolVarP(&monitor, "monitor", "m", true, "monitor the result after sending the command")
killTaskCmd.MarkFlagRequired("environment") killTaskCmd.MarkFlagRequired("environment")
killTaskCmd.MarkFlagRequired("role") killTaskCmd.MarkFlagRequired("role")
killTaskCmd.MarkFlagRequired("name") killTaskCmd.MarkFlagRequired("name")
killTaskCmd.MarkFlagRequired("instance")
} }
var killTask = &cobra.Command{ var killTask = &cobra.Command{
@ -43,17 +47,22 @@ var killTask = &cobra.Command{
var killTaskCmd = &cobra.Command{ var killTaskCmd = &cobra.Command{
Use: "task", Use: "task",
Short: "Kill an Aurora Task", Short: "Kill an Aurora Task",
Run: killTask, Run: killTaskFunc,
} }
func killTask(cmd *cobra.Command, args []string) { func killTaskFunc(cmd *cobra.Command, args []string) {
log.Infof("Killing task [Env:%s Role:%s Name:%s]\n", *env, *role, *name) log.Infof("Killing task [Env:%s Role:%s Name:%s Instance:%s]\n", *env, *role, *name, *instance)
//Set jobKey for the task to be killed.
task := realis.NewTask(). task := realis.NewTask().
Environment(*env). Environment(*env).
Role(*role). Role(*role).
Name(*name) Name(*name)
err := client.KillTask(task.JobKey())
//Convert instance from string type to int32 type, and call the killtasks function
instanceNumber, _ := strconv.Atoi(*instance)
_, err := client.KillInstances(task.JobKey(), (int32)(instanceNumber))
if err != nil { if err != nil {
log.Fatalln(err) log.Fatalln(err)
} }

View file

@ -28,7 +28,7 @@ import (
) )
var username, password, zkAddr, schedAddr string var username, password, zkAddr, schedAddr string
var env, role, name = new(string), new(string), new(string) var env, role, name, instance = new(string), new(string), new(string), new(string)
var dedicated string var dedicated string
var ram, disk, gpu, port int64 var ram, disk, gpu, port int64
var cpu float64 var cpu float64