Djangoを使って、PubSubHubbub(PuSH)用のレスポンスを実装する方法を紹介します。PubSubHubbubを実装することで、Googleになどに、サイトの更新を伝えることができます。
PubSubHubbubについては、このブログがわかりやすいと思います。
リクエストのタイムアウトの関係上、重い処理をdjangoのviewで走らせたい場合、予約して後程バッチ処理で実行したり、別スレッドを立ち上げて実行することがあるかと思います。ただ、別スレッドを立ち上げるビューのテストケースを書いたときに、TestCase(django.test.TestCase)を継承したテストケースだと期待したテスト結果を得られないことがありました。
この投稿ではビューから別スレッドを立ち上げた場合に、TestCase(django.test.TestCase)を継承したテストケースで起こり得る問題と、その解決方法を紹介します。
今回使ったdjangoのバージョンは1.8.3です。また、djangoのアプリが接続するDBはMySQLを使っています。
pythonのライブラリuser-agentsを使って、ユーザがモバイル・タブレット・PCのどれでアクセスしたかを判別する方法を紹介します。