Guest User

Untitled

a guest
Jul 19th, 2018
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. taskrunning := false
  2. count := 1
  3.  
  4. var ecsTaskRun my9ecs.ECSRunTaskIn
  5. ecsTaskRun.TaskDefinition = ecsTaskDef.Family
  6. ecsTaskRun.Cluster = swlRun.SwlConf.EcsTaskCluster
  7. ecsTaskRun.Count = 1
  8.  
  9. for taskrunning == false && count <= swlRun.SwlConf.LswRetryCount {
  10. fmt.Println("Running ECS task")
  11. ecsTaskRunResp, err := swlRun.EcsSession.RunECSTask(ecsTaskRun)
  12. if err != nil {
  13. if strings.Contains(err.Error(), "No Container Instances were found in your cluster") {
  14. fmt.Println("Error in running EcsTask :: No container instances found :: Spinning up EC2 container instance")
  15. _, err = swlRun.CreateEcsContainerInstance(true)
  16. continue
  17. }
  18. fmt.Println("RunStepWorker: RunEcsTask fatal error :: ", err)
  19. panic(err)
  20. }
  21. fmt.Println("RunStepWorker: ecsTaskRunResp :: ", ecsTaskRunResp)
  22. fmt.Println("RunStepWorker: ecsTaskRunResp->err :: ", err)
  23. if len(ecsTaskRunResp.Failures) != 0 {
  24. fmt.Println("Error in running EcsTask :: Spinning up EC2 container instance")
  25. if *ecsTaskRunResp.Failures[0].Reason == "PlatformTaskDefinitionIncompatibilityException" ||
  26. *ecsTaskRunResp.Failures[0].Reason == "RESOURCE:MEMORY" ||
  27. *ecsTaskRunResp.Failures[0].Reason == "RESOURCE:CPU" {
  28. _, err = swlRun.CreateEcsContainerInstance(true)
  29. } else {
  30. fmt.Println("Fatal error running ECS Task ")
  31. panic(err)
  32. }
  33. } else {
  34. taskArn := *ecsTaskRunResp.Tasks[0].TaskArn
  35. fmt.Println("RunStepWorker : ECS Task ARN: ", taskArn)
  36. time.Sleep(2 * 1000 * time.Millisecond) // sleep for 2 secs
  37. taskrunning, err = swlRun.CheckEcsTaskRun(taskArn)
  38. }
  39. fmt.Println(resp)
  40. count++
  41. }
Add Comment
Please, Sign In to add comment