在python中对多个api进行多线程请求

2024-04-24 13:27:11 发布

您现在位置:Python中文网/ 问答频道 /正文

for message in messages:
                self.numberT+=1
                if(self.numberT%100==0):
                    print str(self.numberT)
                thread1= threading.Thread(target=self.worker_gender,args=(message,))
                thread2 = threading.Thread(target=self.worker_sentiment,args=(message,))

                thread1.start()
                thread2.start()

所以我这样开始我的代码,只需打开两个线程,给出两个独立的函数,并将它们都抛出相同的输入。在这两个函数中我都调用api

^{pr2}$

然后我会根据我的反应做我想做的事情。我想我在这里做一些不安全的线程。两者的响应都是JSON文件,具有明显不同的字段。我发现在定义之前使用的响应被捕捉到的错误。响应变量是一个字典,所以我可以这样访问它,当我这样做时,我发现字段不存在(有时)。我想我的线程代码是在错误的响应上执行的,我从线程1得到了我期望的响应,但是它被用于线程2等等。如果有人能给我一些资源,使之不发生,那就太好了。在

第二个问题是每个线程都可能访问另一个消息。所以当这开始时,我可以有1000个线程,例如调用API1,1000个线程并行调用API2。我不知道这是否也有关系。在

我真的认为我是在用http请求创建人工竞争条件。在

谢谢你们的帮助。在


Tags: 函数代码selfmessagetarget错误args线程