このページの翻訳:
- 日本語 (ja)
- English (en)
最近の更新
Tag Cloud
このページへのアクセス
今日: 5 / 昨日: 0
総計: 456
- Dokuwiki.fl8.jp(345)
- 14 rsync(17)
- 05 rsync(16)
- 13 CentOS6メール設定(16)
- IPMIコマンド(16)
最近の更新
このページへのアクセス
今日: 5 / 昨日: 0
総計: 456
asyncioでURLにアクセスし結果を取得、戻り値として受け取る。
ここで戻り地を受け取る。
戻り値の順番は、gatherの順番どおりに戻ってくる
results = loop.run_until_complete(gather)
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()
$ python3.6 test2.ppy get url sleep 1sec sleep 10sec [10, 'fl8.jp<br>100.100.100.10 ', 1]