Если вы используете контексты, мне кажется, что вы должны использовать hystrix.DoC
. Нет никакой причины использовать что-либо, кроме того, через какой контекст проходили, поскольку Do
является синхронным, и вы хотели бы, чтобы любые отмены, крайние сроки (и все, что еще привязано к вашему контексту) были сохранены внутри этого кода.
func ta(ctx context.Context) {
err := hystrix.DoC(ctx, "cbName", func(ctx context.Context) error {
... code that uses ctx here.
}, nil)
// handle err, which may be a hystrix error.
}
Трудно сказать, отличается ли это на самом деле от вызова hystrix.Do
, но это потенциально позволяет hystrix использовать ваш контекст, добавлять собственные сроки / отмены.