
def filter_interval_tickets(tickets):
    """ Очистка тикетов, у которых закончились попытки """
    return list(filter(lambda ticket: ticket.interval_attempts > 0, tickets))

def run_process(interval_attempts_unlimited, processing):
    """Обработка одного тикета с удалением."""
    def go(ticket):    
        ticket.interval_attempts -= 1
        if ticket.interval_attempts <= 0:
            interval_attempts_unlimited(ticket)
            return None  # Маркер для удаления
        else:
            processing(ticket)
        return ticket

    return go