📝

3/6~3/10で技術的にやったこと

2023/03/12に公開

aiohttpとasyncioを使用したPythonの非同期HTTPリクエストについて

非同期コードは結果を待つ間に一度処理を中断しその間に他のコードを実行できるコード。
他のコードの実行をブロックしないのでノンブロッキングコードとも言われる
asyncioライブラリは非同期処理を行うツールがある
aiohttpライブラリにはHTTPリクエストの機能がある。

これらを組み合わせることによって非同期の中でも並行してhttpのリクエストを行うことができる
イメージは同時に複数のapiをコールできる感じ

実装としては以下のようなイメージ(結構簡略化して書いてあります)

async def hoge():
	async with aiohttp.ClientSession() as session:
		apiurl = 'apiurl'
		async with session.get(apiurl) as resp:
			res = await resp.json()
asyncio.run(hoge())

OKTAの認証エラーについて(レイテンシとか)

認証でOKTAを使用しているが、どうもhttpリクエストが認証されない時があった。
直前の処理とかではうまく認証しているのにいきなり認証しなくなった
原因としてはこれっぽい?

抜本的な解決には至っていないけども、どうもOKTAはまだ情報が少なくて原因を探すにも難しい。。。

パラメータストアの参照のエラーが発生する件

エラーとしては参照エラーみたいな感じで出るらしい・・・

Discussion