当前位置: 首页>>代码示例>>Golang>>正文


Golang Pool.GoCtx方法代码示例

本文整理汇总了Golang中github.com/containous/traefik/safe.Pool.GoCtx方法的典型用法代码示例。如果您正苦于以下问题:Golang Pool.GoCtx方法的具体用法?Golang Pool.GoCtx怎么用?Golang Pool.GoCtx使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/containous/traefik/safe.Pool的用法示例。


在下文中一共展示了Pool.GoCtx方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: Participate

// Participate tries to be a leader
func (l *Leadership) Participate(pool *safe.Pool) {
	pool.GoCtx(func(ctx context.Context) {
		log.Debugf("Node %s running for election", l.Cluster.Node)
		defer log.Debugf("Node %s no more running for election", l.Cluster.Node)
		backOff := backoff.NewExponentialBackOff()
		operation := func() error {
			return l.run(ctx, l.candidate)
		}

		notify := func(err error, time time.Duration) {
			log.Errorf("Leadership election error %+v, retrying in %s", err, time)
		}
		err := backoff.RetryNotify(operation, backOff, notify)
		if err != nil {
			log.Errorf("Cannot elect leadership %+v", err)
		}
	})
}
开发者ID:vdemeester,项目名称:traefik,代码行数:19,代码来源:leadership.go


注:本文中的github.com/containous/traefik/safe.Pool.GoCtx方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。