是否可以使用Python异步发送多个请求
我试图向slack api发送大约70个请求,但找不到一种异步实现的方法,我有大约3秒钟的时间,或者我得到了是否可以使用Python异步发送多个请求,python,django,http,asynchronous,slack-api,Python,Django,Http,Asynchronous,Slack Api,我试图向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 me
超时错误
下面是我如何尝试实现它的:
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) 即使你能做到这一点,你也会远远超过限制,你会开始看到
http429太多的请求错误。如果继续以该速率运行,您的API令牌甚至可能被撤销/取消
我认为您需要找到一种不同的方法。Slack的API的速率限制为每秒1次查询(QPS)
即使你能做到这一点,你也会远远超过限制,你会开始看到http429太多的请求错误。如果继续以该速率运行,您的API令牌甚至可能被撤销/取消
我认为您需要找到另一种方法。您的代码有语法错误,下面的send\u msg\u to\u all
函数声明没有缩进。请先修复您的代码。您的代码有语法错误,send\u msg\u to\u all
函数声明下面的行没有缩进。请先修复你的代码。