問題タブ [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.
ruby-on-rails - ubuntu 12.04 で Ruby Daemons.run_proc ブロックが完全にスキップされた理由
ruote ワーカー用のgem daemons
onubuntu 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 の経験は限られています (詳細を歓迎します)。ありがとう。
ruby-on-rails - デーモンがアイドル状態のときに CPU を大量に消費する
レールのデーモンをラップするdaemons-rails gemとともに、 daemons gemのblue-daemonsフォークを使用しています(2番目のものは完全に放棄されているように見えるため) 。
問題は、デーモンがアイドル状態のときに CPU を大量に消費することです (実際にジョブを実行している時間の 10 ~ 20 倍)。
アイドルであるということは、特別なフラグを持っていることを意味します - Status.active?
。の場合Status.active?
はtrue
ジョブを実行し、 の場合はfalse
10 秒間スリープして、while($running) do
ブロックの次のステップを繰り返し、ステータスを何度も確認します。
非常に機密性の高いデータがあり、プロセスがそれを壊したくないので、ジョブを強制的に停止したくありません。その高い CPU 使用率を処理する良い方法はありますか? Sidekiq を試してみましたが、主な目的はオンデマンドまたはスケジュールに従ってジョブを実行することのようですが、デーモンをノンストップで実行する必要があります。
ruby - Ruby Process.daemon: オン/オフの切り替え
2.1.1 で実行されている Ruby スクリプトをデーモン化しようとしています。
コードの私のデーモン部分は次のようなものです:
しかし、それはProcess.kill(9,Process.pid)
私が望んでいたことを殺しているようには見えません。すでにバックグラウンドで実行されている以前の " " を強制終了したいと考えてruby tweetsearcher.rb -start
います。
続行するにはどうすればよいですか?