3rd-Party Packages

サードパーティー製のパッケージ。

APScheduler

ジョブスケジューリングを可能にするライブラリ。

参考:

Flask

エンドポイントリストの取得

参考:

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:

カスタムヘッダを付ける

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

https://github.com/invl/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()

参考: