utils.py 文件源码

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

项目:enteletaor 作者: cr0hn 项目源码 文件源码
def get_remote_messages(config, queue, fill=True, block=False):
    """
    Get all messages from queue without removing from it

    :return: yield raw deserialized messages
    :rtype: json
    """

    to_inject = []

    try:
        while 1:
            message = queue.get(block=False, timeout=1)

            # --------------------------------------------------------------------------
            # Try to deserialize
            # --------------------------------------------------------------------------
            # Is Pickle info?
            try:
                deserialized = loads(message.body)
            except SerializationError:
                pass

            yield deserialized

            to_inject.append(deserialized)

    except Empty:
        # When Queue is Empty -> reinject all removed messages
        if fill is True:
            for x in to_inject:
                queue.put(x, serializer="pickle")


# ----------------------------------------------------------------------
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号