Python 使用进程池,并发请求

import requests
from loggers import logger
import multiprocessing


def func():
    try:
        for i in range(1):
            response = requests.get(
                'http://localhost:63000/')
            print(response.status_code, response.text)
    except Exception as error:
        logger.exception(error)


if __name__ == "__main__":
    pool = multiprocessing.Pool(processes=56)
    for i in range(100000):
        pool.apply_async(func)
    pool.join()

要提交任务的时候,有几个东西可以用:

  • apply
  • apply_async
  • map
  • map_async

apply 和 map 不能并行,所以毫无用处

apply_async 和 map_async 有什么区别?

map_async 一次只能穿一个参数,所有没有用实际用处
apply_async 可以一次传多个参数,所以最有用

参考资料:
apply_async

你可能感兴趣的:(python)