1
私は約70リクエストを送信しようとしていますが、非同期で実装する方法が見つからない場合は約3秒かかりますここで私はトンに試した方法timeout error
多くのリクエストをPythonで非同期的に送信することは可能ですか?
を取得し、それを実装:
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
)
をしかし、私はまだ同期方法
すべてのアイデアをみんなでそれをやっているように見えますか?
コードに構文エラーがあり、 'send_msg_to_all'関数宣言の下の行には字下げがありません。まずコードを修正してください。 – szamani20