gpt4 book ai didi

python - 是否可以使用 Python 异步发送许多请求

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:24:07 24 4
gpt4 key购买 nike

我正在尝试向 slack api 发送大约 70 个请求,但找不到以异步方式实现它的方法,我有大约 3 秒的时间,或者我收到超时错误

这里是我如何尝试实现它的:

import asyncio

def send_msg_to_all(sc,request,msg):
user_list = sc.api_call(
"users.list"
)
members_array = user_list["members"]

ids_array = []
for member in members_array:
ids_array.append(member['id'])
real_users = []

for user_id in ids_array:

user_channel = sc.api_call(
"im.open",
user=user_id,
)
if user_channel['ok'] == True:
real_users.append(User(user_id, user_channel['channel']['id']) )

loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
loop.run_until_complete(send_msg(sc, real_users, request, msg))
loop.close()
return HttpResponse()


async def send_msg(sc, real_users, req, msg):
for user in real_users:
send_ephemeral_msg(sc,user.user_id,user.dm_channel, msg)


def send_ephemeral_msg(sc, user, channel, text):
sc.api_call(
"chat.postEphemeral",
channel=channel,
user=user,
text=text
)

但是看起来我还是用同步的方式在做

有什么想法吗?

最佳答案

Slack 的 API 的速率限制为每秒 1 个查询 (QPS) 作为 documented here .

即使您实现了此功能,您也将远远超出限制,您将开始看到 HTTP 429 Too Many Requests 错误。如果您继续以该速度继续,您的 API token 甚至可能会被撤销/取消。

我认为您需要找到其他方法。

关于python - 是否可以使用 Python 异步发送许多请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46979127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com