Работа завершилась раньше таймаута, созданного через context.WithTimeout. Зачем всё равно вызывать возвращённый cancel?
context.WithTimeout
cancel
Чтобы досрочно освободить связанные с дочерним контекстом ресурсы
Чтобы заменить context.DeadlineExceeded на context.Canceled в результате
Чтобы разрешить повторно использовать тот же контекст с новым дедлайном
Чтобы запустить таймер, который без cancel остаётся в приостановленном состоянии