内容へ移動
fl8 Wiki
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
現在位置:
Dokuwiki.fl8.jp
»
15_python
»
13 Python 非同期処理 asyncio
トレース:
15_python:13_python_async
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== 13 Python 非同期処理 asyncio ====== ===== 1.非同期処理でURL取得 ===== asyncioでURLにアクセスし結果を取得、戻り値として受け取る。 ここで戻り地を受け取る。 戻り値の順番は、gatherの順番どおりに戻ってくる results = loop.run_until_complete(gather) <code| get_url.py> import asyncio import time import functools import requests def sleep(sec): time.sleep(sec) return sec async def get_global_ip(): loop = asyncio.get_event_loop() resp = await loop.run_in_executor(None, requests.get, 'http://fl8.jp') print('get_ip') return resp.text async def parallel_sleep(seconds): loop = asyncio.get_event_loop() resp = await loop.run_in_executor(None, sleep, seconds) print(f'sleep {resp}sec') return resp def main(): loop = asyncio.get_event_loop() gather = asyncio.gather( parallel_sleep(10), get_global_ip(), parallel_sleep(1) ) results = loop.run_until_complete(gather) print(results) if __name__ == '__main__': main() </code> ===== 実行結果 ===== <code> $ python3.6 test2.ppy get url sleep 1sec sleep 10sec [10, 'fl8.jp<br>100.100.100.10 ', 1] </code> {{tag>python}}
15_python/13_python_async.txt
· 最終更新: 2022/03/30 05:50 by
matsui
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ