agent/engine/task_manager.go
func (mtask *managedTask) handleDesiredStatusChange(desiredStatus apitaskstatus.TaskStatus, seqnum int64) {
	// Handle acs message changes this task's desired status to whatever
	// acs says it should be if it is compatible
	seelog.Debugf("Managed task [%s]: new acs transition to: %s; sequence number: %d; task stop sequence number: %d",
		mtask.Arn, desiredStatus.String(), seqnum, mtask.StopSequenceNumber)
	if desiredStatus <= mtask.GetDesiredStatus() {
		seelog.Debugf("Managed task [%s]: redundant task transition from [%s] to [%s], ignoring",
			mtask.Arn, mtask.GetDesiredStatus().String(), desiredStatus.String())
		return
	}
	if desiredStatus == apitaskstatus.TaskStopped && seqnum != 0 && mtask.GetStopSequenceNumber() == 0 {
		seelog.Debugf("Managed task [%s]: task moving to stopped, adding to stopgroup with sequence number: %d",
			mtask.Arn, seqnum)
		mtask.SetStopSequenceNumber(seqnum)
		mtask.taskStopWG.Add(seqnum, 1)
	}
	mtask.SetDesiredStatus(desiredStatus)
	mtask.UpdateDesiredStatus()
}
func (mtask *managedTask) handleDesiredStatusChange(desiredStatus apitaskstatus.TaskStatus, seqnum int64) {
	// Handle acs message changes this task's desired status to whatever
	// acs says it should be if it is compatible
	seelog.Debugf("Managed task [%s]: new acs transition to: %s; sequence number: %d; task stop sequence number: %d",
		mtask.Arn, desiredStatus.String(), seqnum, mtask.StopSequenceNumber)
	if desiredStatus <= mtask.GetDesiredStatus() {
		seelog.Debugf("Managed task [%s]: redundant task transition from [%s] to [%s], ignoring",
			mtask.Arn, mtask.GetDesiredStatus().String(), desiredStatus.String())
		return
	}
	if desiredStatus == apitaskstatus.TaskStopped && seqnum != 0 && mtask.GetStopSequenceNumber() == 0 {
		seelog.Debugf("Managed task [%s]: task moving to stopped, adding to stopgroup with sequence number: %d",
			mtask.Arn, seqnum)
		mtask.SetStopSequenceNumber(seqnum)
		mtask.taskStopWG.Add(seqnum, 1)
	}
	mtask.SetDesiredStatus(desiredStatus)
	mtask.UpdateDesiredStatus()
}
func ( mtask * managedTask ) handleDesiredStatusChange ( desiredStatus apitaskstatus . TaskStatus , seqnum int64 ) { // Handle acs message changes this task's desired status to whatever // acs says it should be if it is compatible seelog . Debugf ( " " , mtask . Arn , desiredStatus . String ( ) , seqnum , mtask . StopSequenceNumber ) if desiredStatus <= mtask . GetDesiredStatus ( ) { seelog . Debugf ( " " , mtask . Arn , mtask . GetDesiredStatus ( ) . String ( ) , desiredStatus . String ( ) ) return } if desiredStatus == apitaskstatus . TaskStopped && seqnum != 0 && mtask . GetStopSequenceNumber ( ) == 0 { seelog . Debugf ( " " , mtask . Arn , seqnum ) mtask . SetStopSequenceNumber ( seqnum ) mtask . taskStopWG . Add ( seqnum , 1 ) } mtask . SetDesiredStatus ( desiredStatus ) mtask . UpdateDesiredStatus ( ) }
// handleDesiredStatusChange updates the desired status on the task. Updates
// only occur if the new desired status is "compatible" (farther along than the
// current desired state); "redundant" (less-than or equal desired states) are
// ignored and dropped.
handleDesiredStatusChange updates the desired status on the task . Updates only occur if the new desired status is compatible ( farther along than the current desired state ) ; redundant ( less - than or equal desired states ) are ignored and dropped .