3rd-Party Packages
サードパーティー製のパッケージ。
APScheduler
ジョブスケジューリングを可能にするライブラリ。
参考:
Flask
エンドポイントリストの取得
参考:
- python - Get list of all routes defined in the Flask app - Stack Overflow
- python - Display links to new webpages created - Stack Overflow
gunicorn
Documentation:
参考:
設定値
https://docs.gunicorn.org/en/latest/settings.html
項目 | コマンドオプション | default | 説明 |
---|---|---|---|
timeout | -t <INT> --timeout <INT> | 30 | この時間に何の処理もしていない場合、ワーカーが再起動される。0を指定すると無限大 |
pytest
Documentation: https://docs.pytest.org/
著名なテストフレームワーク。
Tips:
requests
Documentation:
- 英語: Requests: HTTP for Humans™ — Requests 2.23.0 documentation
- 日本語: Requests: 人間のためのHTTP — requests-docs-ja 1.0.4 documentation … 古いのであまり読まない方がよさそう
カスタムヘッダを付ける
https://requests.readthedocs.io/en/latest/user/quickstart/#custom-headers
dict型の header
パラメータを渡せばいい。
>>> url = 'https://api.github.com/some/endpoint'
>>> headers = {'user-agent': 'my-app/0.0.1'}
>>> r = requests.get(url, headers=headers)
retry
デコレータを付けるだけで簡単に関数にリトライを実装できる。
Examples:
# 最大4回トライする(4回実行してすべてエラーだったらエラーとする)
# トライの間隔は、5秒から始めて、10秒、20秒と2倍ずつ増やしていく
@retry(tries=4, delay=5, backoff=2)
def crawl_url(url):
print ("crawling...")
f = urllib.request.urlopen(url)
return f.read()
参考: