Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- taskrunning := false
- count := 1
- var ecsTaskRun my9ecs.ECSRunTaskIn
- ecsTaskRun.TaskDefinition = ecsTaskDef.Family
- ecsTaskRun.Cluster = swlRun.SwlConf.EcsTaskCluster
- ecsTaskRun.Count = 1
- for taskrunning == false && count <= swlRun.SwlConf.LswRetryCount {
- fmt.Println("Running ECS task")
- ecsTaskRunResp, err := swlRun.EcsSession.RunECSTask(ecsTaskRun)
- if err != nil {
- if strings.Contains(err.Error(), "No Container Instances were found in your cluster") {
- fmt.Println("Error in running EcsTask :: No container instances found :: Spinning up EC2 container instance")
- _, err = swlRun.CreateEcsContainerInstance(true)
- continue
- }
- fmt.Println("RunStepWorker: RunEcsTask fatal error :: ", err)
- panic(err)
- }
- fmt.Println("RunStepWorker: ecsTaskRunResp :: ", ecsTaskRunResp)
- fmt.Println("RunStepWorker: ecsTaskRunResp->err :: ", err)
- if len(ecsTaskRunResp.Failures) != 0 {
- fmt.Println("Error in running EcsTask :: Spinning up EC2 container instance")
- if *ecsTaskRunResp.Failures[0].Reason == "PlatformTaskDefinitionIncompatibilityException" ||
- *ecsTaskRunResp.Failures[0].Reason == "RESOURCE:MEMORY" ||
- *ecsTaskRunResp.Failures[0].Reason == "RESOURCE:CPU" {
- _, err = swlRun.CreateEcsContainerInstance(true)
- } else {
- fmt.Println("Fatal error running ECS Task ")
- panic(err)
- }
- } else {
- taskArn := *ecsTaskRunResp.Tasks[0].TaskArn
- fmt.Println("RunStepWorker : ECS Task ARN: ", taskArn)
- time.Sleep(2 * 1000 * time.Millisecond) // sleep for 2 secs
- taskrunning, err = swlRun.CheckEcsTaskRun(taskArn)
- }
- fmt.Println(resp)
- count++
- }
Add Comment
Please, Sign In to add comment