dev_appserver.py 起動時に、ファイルが多すぎる旨の UserWarning が出る場合の対処法

2018年7月12日 21:12

dev_appserver.py というのは、GAE(Google App Engine)のローカル開発用サーバーを起動するためのスクリプト。ちなみに Google の公式ドキュメント には、

Cloud SDK と Python 2 用 App Engine SDK には、本番環境の App Engine で動作するアプリケーションをシミュレートするために、ローカルで実行できるローカル開発用サーバー( dev_appserver.py )が同梱されています。

と書かれているので、ローカル開発サーバ自身を表わす名称としても使われているようだ。そういえば「dev_appserver.py を起動する」とも言いますね(あ、この記事のタイトルにも書いてた)。

筆者の場合、件の UserWarning は node_modules フォルダが原因だった。そして、特定のファイルやフォルダをウォッチ対象から除外するには、watcher_common.py(ファイルパスはお使いの環境によって変わります)を編集する、というのが今回のツイートの趣旨。

ところが、である。じつは後で知ったのだが、dev_appserver.py 起動時のオプションに --watcher_ignore_re というそれっぽい指定ができるものを見つけた。

たとえば今回のように node_modules フォルダを除外したいなら、

dev_appserver.py . --watcher_ignore_re=.*/node_modules/.*

と指定すればオーケー。--watcher_ignore_re の re の部分が Python の正規表現操作モジュールである「re」を彷彿とさせるので、この例のように正規表現で指定するのが正しいと思う(少なくとも筆者の環境ではこれで解決した)。

こちらのほうが gcloud components のアップデートのたびに当該箇所を書き換えなくても済むぶん、スマートな解決法と言えるかもね。