Tôi có một kịch bản boto3 python thực hiện ff:
- tạo danh sách các tác vụ với trạng thái 'CHẠY' cho một dịch vụ thông qua
ecs_client.list_tasks(cluster=mycluster,serviceName=myservice,desiredStatus='RUNNING')
- thực hiện một vòng lặp for cho danh sách các nhiệm vụ ở trên và dừng từng bước
ecs_client.stop_task(cluster=mycluster,task=mytask)
- mô tả dịch vụ để có được RunningCount và mong muốnCount
ecs_client.describe_services(cluster=mycluster,services=[myservice])
- vòng lặp while nếu runningCount <wishCount - có nghĩa là một nhiệm vụ hiện đang bị dừng và chưa được thay thế, vì vậy đừng dừng nhiệm vụ tiếp theo!
while myservice['services'][0]['runningCount'] < myservice['services'][0]['desiredCount']:
Nếu vòng lặp while không còn đúng nữa - nghĩa là cả số lần chạy và số lượng mong muốn đều bằng nhau, hãy dừng tác vụ tiếp theo trong danh sách.
Đây là luồng thực tế và tôi không thể hiển thị mã thực tế vì tôi vẫn được sử dụng bởi công việc hiện tại của mình và tất cả mã của tôi thuộc về họ :)