問題タブ [ruby-daemons]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
665 参照

ruby-on-rails - ubuntu 12.04 で Ruby Daemons.run_proc ブロックが完全にスキップされた理由

ruote ワーカー用のgem daemonsonubuntu 12.04およびenvironment でデーモンを起動しようとしています。rails 3.2.12これが daemon.rb ( gem version 1.1.9) です。

foo.log は次のとおりです。

ruote_worker.rb は次のとおりです (テスト用)。

ログが示すように、Daemons.run_proc()ブロックは完全にスキップされ、まったく実行されませんでした。Daemons.run_proc()「ruote_worker」なしで試してみDaemons.call()ましたが、ブロック内のコードは実行されませんでした。どういうわけか、ブロック全体がスキップされ、実行されません。誰かがデーモンを機能させる方法を明らかにできますか? ruby デーモン gem の経験は限られています (詳細を歓迎します)。ありがとう。

0 投票する
0 に答える
251 参照

ruby-on-rails - デーモンがアイドル状態のときに CPU を大量に消費する

レールのデーモンをラップするdaemons-rails gemとともに、 daemons gemのblue-daemonsフォークを使用しています(2番目のものは完全に放棄されているように見えるため) 。

問題は、デーモンがアイドル状態のときに CPU を大量に消費することです (実際にジョブを実行している時間の 10 ~ 20 倍)。

アイドルであるということは、特別なフラグを持っていることを意味します - Status.active?。の場合Status.active?trueジョブを実行し、 の場合はfalse10 秒間スリープして、while($running) doブロックの次のステップを繰り返し、ステータスを何度も確認します。

非常に機密性の高いデータがあり、プロセスがそれを壊したくないので、ジョブを強制的に停止したくありません。その高い CPU 使用率を処理する良い方法はありますか? Sidekiq を試してみましたが、主な目的はオンデマンドまたはスケジュールに従ってジョブを実行することのようですが、デーモンをノンストップで実行する必要があります。

0 投票する
1 に答える
2264 参照

ruby - Ruby Process.daemon: オン/オフの切り替え

2.1.1 で実行されている Ruby スクリプトをデーモン化しようとしています。

コードの私のデーモン部分は次のようなものです:

しかし、それはProcess.kill(9,Process.pid)私が望んでいたことを殺しているようには見えません。すでにバックグラウンドで実行されている以前の " " を強制終了したいと考えてruby tweetsearcher.rb -startいます。

続行するにはどうすればよいですか?