2

サイトに影響を与えないように、CPU 負荷が少ないときにのみ Stalker ジョブを実行したい。

仕事は、ビデオを任意の形式から flv および mp4 に変換することです。そのため、かなり高価な仕事です。

どうすればこれを達成できますか?

編集

これは良い方法ですか?

どうですか?

load = `uptime`.gsub(/(.*): /,'').strip.split ' '
if (load[0].to_f < 0.7 && load[0].to_f < load[1].to_f) || (!args["max_delay"].nil? && total_delay > args["max_delay"] && load[0].to_f < 0.85)
  do stuff
end
4

1 に答える 1

5

トランスコーディングのみを行う個別の Ruby インタープリター プロセスを実行し、それをnice -n 19またはで実行しnice -n 12ます。

インタープリターを起動した後、Ruby コード内で優先度を下げる ( niceレベルを上げる) ことができます。

これで、 を使用してインタープリターの優先度を変更できます。Process.setpriorityただし、特権を持っているか、Linux を使用していて CAP_SYS_NICE 機能を持っていない限り、通常の優先度に戻すことはできません。

この問題に対する戦略として、やるべき作業を受け取り、Processまたはを実行Kernel.forkし、優先度を下げ、ジョブを実行してから を呼び出すことが考えられexitます。

于 2011-01-10T17:21:01.693 に答える