|  | @@ -436,27 +436,32 @@ func (s sdk) GetLogs(ctx context.Context, name string, consumer func(service, co
 | 
	
		
			
				|  |  |  	logGroup := fmt.Sprintf("/docker-compose/%s", name)
 | 
	
		
			
				|  |  |  	var startTime int64
 | 
	
		
			
				|  |  |  	for {
 | 
	
		
			
				|  |  | -		var hasMore = true
 | 
	
		
			
				|  |  | -		var token *string
 | 
	
		
			
				|  |  | -		for hasMore {
 | 
	
		
			
				|  |  | -			events, err := s.CW.FilterLogEvents(&cloudwatchlogs.FilterLogEventsInput{
 | 
	
		
			
				|  |  | -				LogGroupName: aws.String(logGroup),
 | 
	
		
			
				|  |  | -				NextToken:    token,
 | 
	
		
			
				|  |  | -				StartTime:    aws.Int64(startTime),
 | 
	
		
			
				|  |  | -			})
 | 
	
		
			
				|  |  | -			if err != nil {
 | 
	
		
			
				|  |  | -				return err
 | 
	
		
			
				|  |  | -			}
 | 
	
		
			
				|  |  | -			if events.NextToken == nil {
 | 
	
		
			
				|  |  | -				hasMore = false
 | 
	
		
			
				|  |  | -			} else {
 | 
	
		
			
				|  |  | -				token = events.NextToken
 | 
	
		
			
				|  |  | -			}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -			for _, event := range events.Events {
 | 
	
		
			
				|  |  | -				p := strings.Split(aws.StringValue(event.LogStreamName), "/")
 | 
	
		
			
				|  |  | -				consumer(p[1], p[2], aws.StringValue(event.Message))
 | 
	
		
			
				|  |  | -				startTime = *event.IngestionTime
 | 
	
		
			
				|  |  | +		select {
 | 
	
		
			
				|  |  | +		case <-ctx.Done():
 | 
	
		
			
				|  |  | +			return nil
 | 
	
		
			
				|  |  | +		default:
 | 
	
		
			
				|  |  | +			var hasMore = true
 | 
	
		
			
				|  |  | +			var token *string
 | 
	
		
			
				|  |  | +			for hasMore {
 | 
	
		
			
				|  |  | +				events, err := s.CW.FilterLogEvents(&cloudwatchlogs.FilterLogEventsInput{
 | 
	
		
			
				|  |  | +					LogGroupName: aws.String(logGroup),
 | 
	
		
			
				|  |  | +					NextToken:    token,
 | 
	
		
			
				|  |  | +					StartTime:    aws.Int64(startTime),
 | 
	
		
			
				|  |  | +				})
 | 
	
		
			
				|  |  | +				if err != nil {
 | 
	
		
			
				|  |  | +					return err
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +				if events.NextToken == nil {
 | 
	
		
			
				|  |  | +					hasMore = false
 | 
	
		
			
				|  |  | +				} else {
 | 
	
		
			
				|  |  | +					token = events.NextToken
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				for _, event := range events.Events {
 | 
	
		
			
				|  |  | +					p := strings.Split(aws.StringValue(event.LogStreamName), "/")
 | 
	
		
			
				|  |  | +					consumer(p[1], p[2], aws.StringValue(event.Message))
 | 
	
		
			
				|  |  | +					startTime = *event.IngestionTime
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		time.Sleep(500 * time.Millisecond)
 |