微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何为“For Loop”运行 gevent 池?

如何解决如何为“For Loop”运行 gevent 池?

for row in data:
                data2 = collections.OrderedDict()
                data2["ID"] = row[0]
                data2["Bank Reconciliation Status"] = row[1]
                data2["Date"] = row[2]
                data2["Branch"] = row[3]
                data2["Student"] = row[4]
                data2["Amount"] = row[5]
                data2["Type"] = row[6]
                data2["Remark"] = row[7]
                data2["Attachment"] = "<img src=\"data:image/jpeg;base64," + ThumbnailEngine(row[8]) + "\">"
                brecon.append(data2)
return json.jsonify({"data": brecon})

我可以知道如何为上面的 For 循环设置 gevent 池吗?我需要为从 3rd Party API 下载的缩略图运行尽可能多的并发请求。谢谢。

解决方法

我终于自己使用了以下解决方案。缩略图现在在 Jquery 数据表中的加载速度提高了 15 倍:

from gevent.pool import Pool
import collections

    def test(data): # data from postgresql query result as args
        
        data2 = collections.OrderedDict()
        data2["ID"] = data[0]
        data2["Bank Reconciliation Status"] = data[1]
        data2["Date"] = data[2]
        data2["Branch"] = data[3]
        data2["Student"] = data[4]
        data2["Amount"] = data[5]
        data2["Type"] = data[6]
        data2["Remark"] = data[7]
        data2["Attachment"] = "<img src=\"data:image/jpeg;base64," + ThumbnailEngine(data[8]) + "\">"
        return data2

p = Pool()
brecon = tuple(p.map(test,data)) # data from postgresql query result

return json.jsonify({"data": brecon})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。