Add foreman to development dependencies.
Use Unicorn instead of thin.
Add child-master communication module.
Use Unicorn with 4 worker processes.
Do not commit log files.
Load master-child communication/work code.
Create reindexer on startup and trigger when post-receive-hook received.