Foremanの目的は、複数のプロセスで構成される可能性のある複雑なアプリケーションを簡単に実行できるようにすることです。Foremanに関する著者のブログ投稿をチェックしてください:
最近、自分のWebアプリの実行が複雑になっていることに気づきました。私のアプリはもはや単一のWebプロセスで構成されていません。私は通常、さまざまなタイプのジョブを実行するための1つ以上のタイプのバックグラウンドワーカーと、スケジューリングを処理するためのクロックプロセスを持っています。このようにアプリを分割すると、パフォーマンスとスケーラビリティが向上します。ただし、欠点は、アプリとそのすべての部分を実行するのがはるかに複雑になることです。
フォアマンはこれを簡単にする試みです。フォアマンを使用すると、Procfileを使用してアプリケーションを実行するために必要なさまざまなプロセスを宣言できます。
フォアマンを活用することで、Herokuは、Railsアプリ、Sinatraアプリ、Node.jsアプリなど、基本的に必要なあらゆる種類のプロセスを実行できるようにしました。Procfile
フォアマンが読み取って実行するyour 。
Foremanでは、この単純なProcfileを取得し、UpstartやInitなどのツールを使用して本番環境にエクスポートすることもできます。デバッグ機能は提供しません(また、そうすることを意図したものでもありません)。