問題タブ [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 - Ruby 1.9.2 で遅延ジョブをバックグラウンドで実行できない
rake jobs:work
うまく動作します
しかしRAILS_ENV=development ./script/delayed_job start
(またはその順列のいずれか) は 1.9.2 では機能しません。1.9.1で問題なく実行できます。
誰にもこれに対する解決策がありますか?
linux - Linux でのリモート プロセス コントロール
私は現在、「マスター」プロセスの制御下で実行される多くのプロセスを必要とするプロジェクトに取り組んでいます。このプロセスは、TCP 経由でリモート コマンドを受信し、子プロセスに何をすべきかを伝えます (例: どのファイルに対処するか、どの処理操作を実行するか)。彼らは実行する必要があります)。
コマンド/構成を子プロセスに渡すために、次のアイデアを思いつきました。
- 信号(十分に強力ではありません)
- 各プロセスをマスターに接続するソケットまたはパイプを介したバイナリ プロトコル (車輪の再発明)。
- RPC (やり過ぎかもしれません)
- CORBA (おそらくやり過ぎ)
- DDS (完全にオーバーキル)
アイデア/提案はありますか?
ruby - デーモンを停止するとデータが破損する可能性がありますか?
Railsアプリでいくつかのバックグラウンドプロセスを実行するためにdelayed_jobを使用しています。これらのプロセスは、ログファイルへの書き込みだけでなく、DBへの読み取りと書き込みも行います。
私の質問は、ジョブを停止すると、プロセスが強制終了されるのでしょうか(データが破損する可能性があります)、それともジョブが終了するのを待つのでしょうか。
php - Linuxデーモンを作成するための好ましい方法は何ですか?
Hello to All
私はいくつかのキャッシュされたデータ(たとえばMemcacheに保存されている)を使用する必要があるPHPWebサイトを持っています。データは、Webサービスからデータをフェッチするデーモンによってキャッシュに保存する必要があり、一部はMySQLサーバーにも保存する必要があります。
デーモンは次のことを行う必要があります。
- 外国為替レートを取得し、それらを解析して、データベースと、別々のマシンの2つの別々のmemcacheに保存します。
- 財務インデックスを取得し、個別のmemcacheに保存します。
- 大きなXMLデータをフェッチし、2つの別々のmemcacheに保存します。
私はこれらのデーモンをC/C ++ / Perl / PHP/Pythonで書くことができます。
これらのデーモンを実装するために、どの言語/スクリプトを選択するかを決定する必要があります。これにPHPを使用する利点は、Webサイトアプリケーション自体で使用されるAPIを使用できることです。もう1つの利点は、PHPが簡単で誰もが知っているので、これらのデーモンの保守に縛られることはありませんが、一方でPHPは低速で、はるかに多くのリソースを消費することです。
PHP以外の言語を使用することの主な欠点は、C / C ++/Perlで記述されたコードを維持するのが難しいことです。最近では、C / C ++/Perlを使用してこの種のタスクを実行することは一般的ではないと思います。私はそれを言うのは間違っていますか?
この場合、私に何をすることをお勧めしますか?
ruby - Thor(ruby)でデーモンを作成するにはどうすればよいですか?
人気のあるThorgemを使用して、デーモン化されたタスクを作成したいと思います。私のThorクラスは次のようになります。
そこで、ここでは、開始と停止の2つのタスクを持つ基本的なトールクラスを設定しました。私も現在Daemonsgemを使用していますが、これは必須ではありません。私が苦労しているのは、このアプリが「run_thor_app.rb start」として実行されると、すべてが正常に実行されることです。明らかに、この場合、停止タスクは必要ありません。しかし、「run_thor_app.rb start -d」を実行すると、Daemons.daemonizeが実行されるまでアプリが実行され、その後終了します。実行中のプロセスを確認すると、バックグラウンドで何も実行されていないことがわかります。
何かが実行されていても、停止タスクにアプローチする方法がわかりません。たとえば、アプリがデーモンとして実行されていることをどのように検出して停止しますか。Daemons :: Monitorを見てきましたが、それがどのように機能するかについてのドキュメントが明確ではなく、試してみたところ、機能しませんでした。
これはThorに組み込まれているものの良いユースケースのように思えますが、githubでコードを検索しても、何もわかりません。多分私はどこかでそれを逃した。いずれにせよ、他の人が参照できるように、Thorでデーモンを処理するためのベストプラクティスまたはパターンを文書化するとよいと思います。
ruby - Rubyデーモン-モニターとは何ですか?どのように機能しますか?
したがって、Rubyのデーモンgemを使用するとmonitor=true
、プロセスを起動するときに設定できます。一体何がモニターで、あなたはそれで何をしますか?指定するだけですかtrue
、それともfalse
...どこかにログファイルを作成することですか?プロセスを実際に監視しているもの、たとえばgod
?このことの恐ろしさに関するドキュメントはなぜですか?
それとも、これは実際には誰もが知っているはずのUnixのことですか?:)
ruby - Ruby デーモンのログ ローテーション
ロギング パラメータを Daemons (1.1.0) gem に設定する場合、この行と同様の動作を実現するにはどうすればよいですか?
デーモン オプション:
ruby - 特定のユーザーとして Ruby デーモンを実行するにはどうすればよいですか?
daemons
gemを使用して Ruby デーモンを実行しようとしています。
ユーザー 'joe' として開始されますが、デーモン化されたら、作業対象のファイルにアクセスできるように 'www-data' に変更する必要があります。
デーモンにchange_privilege
は Application クラスのメソッドがあることがわかりますが、このコードの周りでそれを使用する方法がわかりません。
ruby - Rubyで多くのプロセス間でタスクを分散するにはどうすればよいですか?
データベースから100個のレコードを選択してタスクを実行するRubyデーモンがあります。
高速化するために、通常は同じデーモンの 3 つのインスタンスを作成します。そして、それぞれが mysqlLIMIT
とを使用して異なるデータを選択しOFFSET
ます。
問題は、同じデータ レコードに対してタスクが 2 回または 3 回実行される場合があることです。
LIMIT
したがって、データベースのみを信頼するだけでは十分ではないと思いますOFFSET
... 2つ以上のデーモンが実際に同時に同じデータを収集できる場合があるためです。
どうすれば安全に行うことができますか?2 つのインスタンスを回避して同じデータを選択する
- デーモン 1 => 1 から 100 までのレコードを選択
- Daemon 2 => 101 から 200 までのレコードを選択
- Daemon 3 => 201 から 300 までのレコードを選択
python - デーモンのように Django 内でコードを常に実行することはできますか
mod_wsgi を使用して、Apache 経由で django サイトを提供しています。バックグラウンド プロセス (dameon?) として実行される Python コードもいくつかあります。サーバーをポーリングし続け、Django モデルの 1 つにデータを挿入します。これは正常に動作しますが、このコードを Django アプリケーションの一部にして、バックグラウンドで常に実行できるようにすることはできますか? それ自体がプロセスである必要はありませんが、常にアクティブな Django サイトのアートです。もしそうなら、これを達成するのに役立つ例やドキュメントを教えていただけますか?
ありがとう。