問題タブ [rufus-scheduler]
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 - rufus-scheduler の ActiveRecord オブジェクトに関する接続プールの問題
私は rufus-scheduler を使用して、ActiveRecord オブジェクトでいくつかのさまざまなタスクを実行する多数の頻繁なジョブを実行しています。なんらかのネットワークまたは postgresql の問題が発生した場合、回復後でも、プロセスが再起動されるまで、すべてのスレッドが次のエラーをスローします。
ActiveRecord::ConnectionTimeoutError (5 秒以内にデータベース接続を取得できませんでした (5.000122687 秒待機)。最大プール サイズは現在 5 です。それを増やすことを検討してください。
このエラーは、postgres を再起動することで簡単に再現できます。プールサイズで(最大15)遊んでみましたが、運がありません。
これにより、接続が古い状態にあるだけであると信じるようになり、clear_stale_cached_connections!
.
これを行うためのより信頼できるパターンはありますか?
渡されるブロックは単純な選択とアクティブ レコードの更新呼び出しであり、たまたま AR オブジェクトが何であるかが問題になります。
ルーファスの仕事:
ラッパー:
sinatra - スケジュールされたジョブから Pony メールで haml をレンダリングするときの未定義のメソッド `haml'
きゅうりのテストを実行し、その結果を電子メールで通知する sinatra アプリがあります。Email gem は Pony で、この通知用の haml テンプレートがあります。
このロジックはルート内で機能します。
ただし、これらのアクションに rufus スケジューラでスケジュールされたジョブを使用すると、次の例外が発生します。
コードはルートからのコピーパスタです:
2 つのメソッドはすべて同じファイルにあり、Sinatra アプリを実行するために実行されます。
この例外を取り除き、haml テンプレートをスケジュールされたジョブとしてメールを送信するにはどうすればよいですか?
ruby - Rubyスクリプトでrufusスケジューラを使用する
良い。私はRubyで単純なスケジューラを書こうとしています。一度開始した単純なスクリプトだけがすべての元になります。分私がしたいことをします。
Ruby On Rails で既に rufus-scheduler を使用していますが、今回は単純なスクリプトだけになるため、すべてのフレームワークは必要ありません。
だから、私はこのようなものを書きました:
そして、私がそれを開始しているとき(私はWin Vistaを使用しています)、実際には何もしません。
私はこれをirbでチェックアウトしました..動作します。
誰かがこれで私を助けることができますか? 前もって感謝します。
ruby-on-rails-3 - Rufusスケジューラのcronジョブのコードブロック内からjob_idを決定します(rails 3.2)
Rufusスケジューラを使用してcronジョブを作成する場合、cronジョブのコードブロック内にcronジョブ自体のjob_idを決定する方法はありますか?
私がやりたいのは次のようなものです。
問題はself.job_id
です。現在トリガーされているcronの現在のjob_idを取得する方法に関する提案はありますか?
現在実行中のジョブを返す「triggered_threads」のようなものがあることを私は知っています。しかし、もっと具体的なものが必要です。現在私がいるコードブロックのjob_idです。
これは可能ですか?
ruby-on-rails - rufusスケジューラを使用して前のジョブの完了後にジョブをスケジュールする
以下のような task_scheduler ファイルがあります。
これらのジョブを分割する必要があり、ジョブ 1、ジョブ 2、およびジョブ 3 が完了した後に Startjob4.perform_async 、 Startjob5.perform_async を実行する必要があります。問題は、これらのジョブを完了するのにかかる時間がわかりません。
これらのバックグラウンド タスクに sidekiq を使用しています
ありがとう
ruby - Ruby Net-SFTP のキャプチャとログの例外
サーバーに接続し、ファイル名に特定の日付を含むファイルをダウンロードするためにテストしている単純な SFTP スクリプトがあります。
rufus/scheduler を使用してスクリプトの SFTP 部分を X 分ごとに開始し、新しいファイルがサーバー上にあるかどうかを確認しています。
間違ったログイン資格情報を提供するなど、意図的にエラーを強制するまで、すべてが機能しているようです。次に、正確なエラーまたは例外をキャプチャし、ロガーを使用してログに記録できるようにしたいと考えています。エラーの詳細が表示されないか、またはレスキューを正しく使用していません:
ruby-on-rails-3 - rufus スケジューラ例外
これは私を少し狂わせています。ルーファスにルール エンジン (ruleby) を呼び出すスケジュールを設定させています。したがって、私が実行しているほとんどの作業は、実行中のエンジン内で行われ、次にスケジューラ内で行われます。その結果、エラーが発生した場合、情報は少し制限されます。
早送りします。私はまだコードに取り組んでいますが、次の例外エラーが発生しました。
以前は発生していませんでした。正確にいつ開始したのか、それがコードで行っていたのか、それとも http プッシュ経由で入ってきたイベントなのかはわかりません。原因と思われるコードをコメントアウトし、発生を停止し、コードを元に戻しますが、まだ発生しません。しばらくそのままにしておくと、再び発生し始めます。スケジューラの外でエンジンを手動で実行しようとしましたが(x分ごとではなく1回だけ)、起こりません。
スケジューラーに戻して数回実行すると、再び発生し始めます。上記のエラーをグーグルで検索しますが、グーグルは検索で + を愛していません。これについて私をどこに案内すればよいか考えている人はいますか? ルール エンジンの実行中に何かが起こっていることは明らかですが、それを終わらせようとするまで、何週間も楽しく実行されていました。最善の考えは、ルール エンジンの実行中にイベントを一度に 1 つずつ渡し、以前にはなかった何かが欠けているということです。
それが参照している+メソッドが何であるか/そうである可能性がある/そうであると思われることを本当に知りたいです。
ruby-on-rails - JRuby/Rails rufus-scheduler がスレッドセーフ モードでヒープ領域の後に動作を停止する
毎日実行される rufus-scheduler ジョブを含む JRuby/Rails アプリケーション。ただし、アプリケーションが Java ヒープ領域 (Tomcat) で実行されると、ジョブはサイレントに実行を停止します。
これは、スレッドセーフ モードでのみ発生するようです。
抽象化されたconfig/initializer/update_scheduler.rb
ruby - Rufusスケジューラ-例外をキャッチして条件文を実行する
Dropboxへのリクエストを実行してアクセスキーとシークレットが10分ごとに許可されているかどうかを確認するrufusスケジューラがあります。
許可されていない場合は、次の例外が報告されます。
これを検出するためにスケジューラーにあるコードは、rufus-schedulerのドキュメントからのものです。
上記の例外をキャッチしたいだけなので、例外を値と比較する条件付きステートメントを実行できるようにしたいのです。
しかし、例外はオブジェクトであるため、その比較はできません。
誰かが私がこれを行う方法について何か考えを持っていますか?
どうもありがとう。
ruby-on-rails - rails3 にテンプレートアクションエラーがありません
次のようなコントローラーでメソッドを定義しました。
formathtml は次のようになります。
モデルから呼び出し、rufus スケジューラーから呼び出すことができるように、self.dailymail を使用する必要があります。
しかし、それでも次のようなエラーが発生します。
それで、私は何をする必要がありますか?
更新:デバッグ後、アクションformatinhtml
が実際には呼び出されていないことがわかりました。必要なルートを定義しました。