起動時1度だけ、というのは本当に1度だけ(プロセス毎に1度ではなく、全プロセスで1度)という前提で解答します。
mod_wsgiのプロセスがいくつ作られて、いつ破棄&再作成されるかは設定次第ですが、このプロセス起動時に処理するのはオススメできません。そのため、「データベースから商品データをキャッシュ」(キャッシュをmemcachedやredisなどの別サーバーと仮定)するためのバッチ処理を別途用意して、キャッシュしたいタイミングで実行するのが良いと思います。
上記はシステム全体で1度、という仮定で書きましたが、サーバー毎に行いたい(サーバーのメモリに乗せる)のであれば、サーバー毎に前述のバッチを1回実行することになります。
プロセス毎に行いたい(プロセスのメモリに乗せる)のであれば、WSGIのエントリポイント(wsgi.py 等)あたりに書くとよさそうです。ただし起動時間が長くなるので非同期で行いたい場合はもうすこし考える必要がありそうです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/10 07:36