探しても見つからなかったので自分で書いた。
起動方法
Reactクライアント
cd client
npm install
npm start
Socket.ioサーバー
cd server
npm install
node index.js
Pythonプログラム
Windows環境だと -P solo
を付けないと動かないので注意。あと、CeleryはWindowsを正式にはサポートしていないので、あくまでもテスト用とすること。
cd worker
pip install -r requirements.txt
celery -A tasks worker -P solo
どこが素晴らしいのか
Node.jsのサーバーからPythonプログラムを非同期で呼ぶようにすることで、Flask-SocketIOでゴリゴリ書くよりもシンプルかつコンパクトになる。たとえば、Pythonで書かれた機械学習のプログラムを呼び出したりなんかしても面白い。というか、まさにそれ用に作った。
その他
テスト用にRedisを無料で使いたい場合
RedisLabsで無料版あり。クレジットカードの登録等も不要。