- ユーザーがページ A に移動して、新しいマルチプレイヤー ゲームを作成する
- ページ A のスクリプトは、ゲームの一意の ID を生成し、そのワーカーを作成します。次のようなもの: Rails runner GameWorker.new(:game_id => game_id).start_game
- ページ A のスクリプトは、ユーザーをページ B にリダイレクトします。ページ B では、新しく作成されたゲームを表示したり、他のユーザーが参加したりできます。
ワーカーはゲーム終了まで生きている必要があります。
ワーカーを起動するコマンドを実行する適切な方法は何ですか? 何か問題が発生した場合に備えて、非ブロックである必要があり、理想的には出力をログ ファイルにリダイレクトします。
問題があれば、Rails 3 を使用しています。
更新 私は私の質問を言い換えるつもりです:Ruby内からLinuxコマンドを実行し、コマンドが終了するのを待たない方法は?&>>に相当するものを意味します。たとえば、php では &>> は正常に動作し、特別な php 関数を使用する必要はありませんが、Ruby ではオーバーライドされるようで、スクリプトはコマンドが終了して出力を取得するのを待ちます。