ฉันมีสคริปต์ python boto3 ที่ใช้ ff:
- สร้างรายการงานที่มีสถานะ 'RUNNING' สำหรับบริการผ่าน
ecs_client.list_tasks(cluster=mycluster,serviceName=myservice,desiredStatus='RUNNING')
- ทำ for for loop สำหรับรายการงานด้านบนและหยุดแต่ละงานผ่าน
ecs_client.stop_task(cluster=mycluster,task=mytask)
- อธิบายบริการเพื่อรับ runningCount และต้องการ Count
ecs_client.describe_services(cluster=mycluster,services=[myservice])
- ในขณะที่วนลูปถ้า runCount <ที่ต้องการนับ - หมายถึงงานกำลังหยุดและยังไม่ถูกแทนที่ดังนั้นอย่าหยุดงานต่อไป!
while myservice['services'][0]['runningCount'] < myservice['services'][0]['desiredCount']:
ถ้าห่วงวนรอบในขณะนั้นไม่เป็นจริงอีกต่อไป - หมายถึงทั้งจำนวนการเรียกใช้และจำนวนที่ต้องการให้หยุดงานถัดไปในรายการ
นี่คือโฟลว์ที่เกิดขึ้นจริงและฉันไม่สามารถแสดงรหัสที่แท้จริงได้เนื่องจากฉันยังคงทำงานในงานปัจจุบันของฉันและรหัสทั้งหมดของฉันเป็นของพวกเขา :)