gevent.py 文件源码

python
阅读 30 收藏 0 点赞 0 评论 0

项目:squishy 作者: tmehlinger 项目源码 文件源码
def process_messages(self, messages):
        greenlet_to_message = {}
        processed = []

        self.logger.debug('processesing %d messages', len(messages))

        for message in messages:
            try:
                g = self.pool.spawn(self.func, message)
            except:
                self.logger.exception('cannot submit jobs to pool')
                raise
            greenlet_to_message[g] = message

        for g in gevent.iwait(greenlet_to_message):
            message = greenlet_to_message.pop(g)
            try:
                if g.exception:
                    raise g.exception
            except:
                self.logger.exception('exception processing message %s',
                                      message.message_id)
            else:
                processed.append(message)

        return processed
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号