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

多进程池Flask实战应用

多进程池Flask实战应用

import json
import math
import flask
from concurrent.futures import ProcesspoolExecutor

app = flask.Flask(__name__)


process_pool = ProcesspoolExecutor()


def is_prime(n):
    if n < 2:
        return False
    if n == 2:
        return True
    if n % 2 == 0:
        return False
    sqrt_n = int(math.floor(math.sqrt(n)))
    for i in range(3, sqrt_n+1, 2):
        if n % i == 0:
            return False
    return True


@app.route("/is_prime/<number>")
def api_is_prime(number):
    number_list = [int(x) for x in number.split(",")]
    result = process_pool.map(is_prime, number_list)
    return json.dumps(dict(zip(number_list, result)))


if __name__ == '__main__':
    app.run()

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

相关推荐