2

私がやりたいことは... サーバーにファイルをアップロードするために PAPERCLIP を使用しました。このために、いくつかのシェルスクリプトを使用しました。今私は、ユーザーがファイルを参照してアップロードボタンをクリックしたときに、その瞬間から時間を記録したいと考えています。プロセスがまだ進行中で、指定された時間 (5 秒と仮定) が経過した場合、そのプロセスを強制終了したいと考えています。今それを達成する方法を教えてください。

Process.pid を使用しています。ただし、2つのクライアントウィンドウを使用してWebサイトにアクセスする場合。両方のウィンドウ r に同じプロセス ID が表示されます。

特定の時間(2秒など)後にRuby on Railsでプロセスを強制終了する方法を教えてもらえますか? Rails では、別のユーザーがブラウザから Web サイトにアクセスできます。したがって、ユーザーごとに個別のプロセスIDを作成し、指定された時間が経過したらそれを強制終了したいと考えています。時間指定はストップウォッチでできると思います。そして、別のプロセスIDには、スレッドの概念を使用できます。

4

1 に答える 1

0
    Each Passenger instance is a separate process and it has it's own PID. Killing processes from Ruby is really easy. We do this by executing following command:

    1
    Process.kill(signal, pid)
    We will use this method and try to kill Passenger processes gracefully (gracefully means that Passenger process will complete any request that it is performing right now and will shutdown). If this fails, we will send a TERM signal and kill it instantaneously.

    SIGUSR1 signal - shutdown gracefully
    TERM signal - kill it instantaneously
----------------
For more details :
http://dev.mensfeld.pl/2012/08/simple-rubyrails-passenger-memory-consumption-limit-monitoring/
于 2012-10-11T04:51:13.430 に答える