Python 请求模拟库在spark中不起作用

Python 请求模拟库在spark中不起作用,python,python-3.x,pyspark,python-requests,mocking,Python,Python 3.x,Pyspark,Python Requests,Mocking,在Spark的foreachPartition()中,我调用了一个API,我想模拟这个API, 这就是我所做的: with requests_mock.Mocker() as m: m.get('http://blablabla1.com:90', status_code=202) print(requests.get('http://blablabla1.com:90').status_code) def f(x): print(requests.ge

在Spark的
foreachPartition()
中,我调用了一个API,我想模拟这个API, 这就是我所做的:

with requests_mock.Mocker() as m:
    m.get('http://blablabla1.com:90', status_code=202)
    print(requests.get('http://blablabla1.com:90').status_code)

    def f(x):
        print(requests.get('http://blablabla1.com:90').status_code)
    sc.parallelize([1,2,3,4,5], 2).foreachPartition(f)
我第一次打印状态代码时得到202,但第二次连接被拒绝

问题是如何模拟请求,以便在spark中调用时仍然使用模拟?实际的实现是foreachPartition获取一个url并调用它,因此我不能在代码内部插入mock,只能在代码外部插入mock


谢谢

这个内部函数,不应该返回状态码而不是打印?没关系,调用请求。get(“…”)失败。不管怎样,我是用Flask用驱动程序的IP做的