問題タブ [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 - Railsのデーモンgemに関する問題
私はdaemon_generatorプラグインに加えてRailsでデーモンgemを使用しています。デーモンのログファイルに次の出力があります。
この出力から理解するのは非常に難しいと思います。さまざまなエラーメッセージが表示されますが、デーモンファイル内で呼び出さないため、。/ config/global_constants.confの問題ではないことがわかります。さらに、私のMacには2GBのメモリがあり、実行中のプログラムが少ないので、メモリの問題ではないと思います。SmsMessageに関しては、私は通常それを使用して呼んでいます:
これは私のウェブサイトの他の場所で機能します!! ロガーがを使用して呼び出されていることに気づきました
モデルのパスを別の方法で指定する必要がある可能性はありますか?私は通常、ActiveRecord :: Baseを必要とせずに、logger.infoを使用してロガーを呼び出します。もしそうなら、それを行う方法は?
この問題をデバッグする方法について何かアイデアはありますか?スタックトレースまたはより良いエラーメッセージを表示する方法はありますか?
ruby-on-rails - 内部サービスを構築し、http サポートは不要
1 秒ごとに (1 つのテーブルで) 変更のために DB をキューに入れ、このイベントの後にデータを処理する内部サービスを構築する必要があります。
このサービスはコントローラー/ビュー機能を必要としないため、すべての Rails スタックは必要ありません。基本的に、Rails スタックからは、AR (または ORM) のみが必要です。
これに対する解決策/アプローチは次のとおりです。
- 従来の Rails バックグラウンド処理プラグインを使用する (starling/workling、delayed_job など)
- RAA Daemons のようなデーモン ソリューションを使用します(スタンドアロンで使用できるため、ORM として DataMapper を使用することもできます)。
- 物事を再設計し、MQ ソリューションを使用する
それが最良のアプローチになるとあなたは何を提案しますか?
ruby-on-rails - Ruby 複数のワーカーを生成するデーモンプロセスを作成する方法
「worker.rb」というスクリプトがあります。このスクリプトを実行すると、しばらく (たとえば 1 時間) 処理が実行されてから終了します。
上記のワーカー スクリプトの生成を担当する別のスクリプトが必要です。このスクリプトを「runner.rb」と呼びましょう。「runner.rb」は、スポーンできるワーカーの数を指定する引数で呼び出されます。
runner.rb に次のことを実行してもらいたい: (例: 'ruby runner.rb 5') - データベースに特定の値を照会する (例: 100 個の値を取得する) - 'worker.rb' の 5 つのインスタンスを生成する (最初の 5 つの値を渡す)それぞれの値) - 上記で生成された「worker.rb」のインスタンスのいずれかをチェックして終了し、データベースから 6 番目の値を使用して「worker.rb」を再度呼び出し、このプロセスを無期限に続行します。
私はデーモンの宝石を使用していますが、これを行う最善の方法として迷っています。「ランナー」スクリプトは必ずデーモン化する必要がありますが、ワーカーもデーモン化する必要がありますか?
「ランナー」は「ワーカー」が終了したかどうかをどのように確認する必要がありますか? これは、ファイルに保存されている PID を使用して実行できますか?
ruby-on-rails - デーモンから rake タスクを実行する
デーモンの宝石を使用して作成したデーモンがあります
私はそれを実行し、エラーなしで閉じますが、スクリプトは実際には実行されていないようです. そこから rake タスクを実行していますが、デーモンは呼び出されたディレクトリから内部でコマンドを実行しますか?
これがスクリプトです
rake タスクには、終了を停止するループがあります。
ruby-on-rails - cronでrakeタスクを2回実行する方法は?
RoRにrakeタスクまたはrubyコードを異なる時間に2回実行する方法があるかどうかを知りたいです。たとえば、ユーザーが登録した場合、3日後にタスクを実行し、1週間後に同じタスクを実行しますが、それ以上は実行しません(「プロセスを停止」)。私はcrontabと、Resque、Stalker、Starlingなどの宝石を見ていましたが、この宝石が誰に役立つのかはっきりとはわかりません。私は、ユーザーごとにデーモンを実行し、タスクの実行をカウントすることを考えています。問題は、デーモンがリソースを「食べている」間ずっとアクティブになることです。できるだけ少ないリソースを使用する方法はありますか?後でHerokuで実行したいと思います。
ruby-on-rails - Railsスタック内でSMTPサーバーを実行するデーモンを作成するにはどうすればよいですか?
私はRailsアプリを実行しています。このアプリは、とりわけ、独自のSMTPサーバーの役割を担う必要があります。Mini-SMTP-Serverは非常に見栄えがしますが、デーモンとして実行する方法がわかりません。着信メッセージに対応できるようにしたいので、Railsスタック全体を他のタスクで使用できるようにする必要があります。
私はデーモンの宝石を見てきましたが、それは適切なようですが、賢明な方法でSMTPメッセージのリッスンを開始するためにそれを接続する方法がわかりません。
ruby-on-rails - 単純なレールアプリケーションでデーモンを起動する
私は単純なコントローラーを持っていて、そのコントローラーがデーモンを起動してバックグラウンドジョブを実行するようにします(コンピューターに接続されたArduinoボードによって供給されるsstdinデータを読み取ります)。
プロセスを作成します(これからはスリープ状態になりますが、この単純なコードが機能するようになったら、このプロセスに入ります)が、ブラウザーのrailsフレームワークを介してコントローラーを呼び出すと、ブラウザーの行へのポインターにエラーメッセージが表示されます。デーモン呼び出しの(14行目)。
私はどんな助けにも大いに感謝します、そしてそれがばかげた質問であるならばひどく申し訳ありません;-)
ruby-on-rails - delayed_job でスレッドを永続化する
そのため、遅延ジョブプロセスが SMPP サーバーと通信するレールアプリがあります。しかし、メッセージを送信しようとすると問題が発生します。初期化子 (delayed_job.rb) で作成した私のスレッド:
しかし、smpp サーバーのログ ファイルを確認すると、スレッドが開始直後に停止しているようです。だから私の質問は、delayed_job デーモンの実行中にスレッドを永続化する方法だと思いますか?
Rails アプリを本番環境で起動し、個別にメッセージを送信しようとすると問題なく動作しますが、delayed_job は別のプロセスであるため、delayed_job のワーカーから rails アプリの smpp スレッドと通信できません。キュー。
何か案は?
ruby-on-rails - Rufus スケジューラとデーモン スクリプトがレールで動作しない
私は定期的に実行され、rufus スケジューラーを使用して Rails アプリ内でコードを作成するスクリプトを作成していました (特に本番サーバーで動作するようにデーモンと一緒に使用しました)。しかし、プロセスを終了して強制終了するため、まったく機能していません。
ここに私の script/rufus_schedule ファイルがあります