首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替换gevent.spawn_link_exception

替换gevent.spawn_link_exception
EN

Stack Overflow用户
提问于 2015-01-19 04:18:43
回答 1查看 624关注 0票数 1

这个旧代码调用不再存在的gevent.spawn_link_exception

代码语言:javascript
复制
def start(self, checkpoint=None):
    for gl in self._greenlets:
        gl.kill()
    self.load_config()
    self._greenlets = [
        gevent.spawn_link_exception(self.periodic_checkpoint, 5) ]
    for master_uri in self._config:
        self._greenlets.append(
            gevent.spawn_link_exception(
                self.replicate, master_uri, checkpoint))

请帮助我更新这段代码,以便它与最新版本的gevent一起工作。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-20 10:03:10

您可以通过Greenlet.link_exception方法来处理相同的事情。下面是您修改的示例:

代码语言:javascript
复制
  def start(self, checkpoint=None):
      for gl in self._greenlets:
          gl.kill()
      self.load_config()

      def exception_callback(greenlet):
          print "Exception happened in ", greenlet

      self._greenlets = [gevent.spawn(self.periodic_checkpoint, 5)]
      self._greenlets[-1].link_exception(exception_callback)

      for master_uri in self._config:
          self._greenlets.append(gevent.spawn(self.replicate, master_uri, checkpoint))
          self._greenlets[-1].link_exception(exception_callback)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28017887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档