問題タブ [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.

0 投票する
3 に答える
1307 参照

ruby-on-rails - Railsコンソールを起動するときにrufus-schedulerを実行しないための最良の方法

私はrufus-schedulerを使用して定期的なタスクを実行していますが、テストしたいときにRailsコンソールに表示するのは非常に面倒です。コンソールを自動的に起動するときに、すべてのrufus-schedulerタスクを停止する簡単な方法はありますか?

スケジューラーを起動するコードでは、Railsコンソールにいることを確認できれば実行できません。または、コンソールの起動時にコールバックを実行する方法がある場合は、そこでシャットダウンすることもできます。

ありがとう

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

ruby-on-rails - Railsにrufus-schedulerを実装する方法は?

スケジュールは実行されていますが、「未定義のメソッド'do_something'」というエラーが発生します。何が正しくないのですか?

レールの使用3。

config / initializers / task_scheduler.rb:

models / job_thing.rb:

ありがとう

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

ruby - Rails 3でのRufusスケジューラーの実装

私は本番環境でApache + Passengerで実行されているアプリを持っています。現在、イニシャライザで rufus スケジューラを初期化し、そのイニシャライザでデータベースから読み取るジョブを登録しています。apache/passenger が機能する方法は、アプリの複数のプロセス/インスタンスを作成することです。これにより、スケジューラが複数回初期化され、重複したジョブがスケジュールされます。

スケジューラがシングルトンオブジェクトになるようにこれを実装するのは正しいですか?

0 投票する
2 に答える
4258 参照

ruby-on-rails - Rake tasks and rails initializers

Kinda new to Rails, so please cope with me. What i'm doing now is background processing some Ruby code use Resque. To get the Rescque rake task started, I've been using (on heroku), I have a resque.rake file with that recommended code to attach into heroku's magical(or strange) threading architecture:

Since I need access to the Rails code, I reference :environment. If I set at least 1 worker dyno in the background on heroku, my Resque does great, gets cleared, everything is happy. Until i try to automate stuff...

So I wanted to evolve the code and automatically fill the queue with relevant tasks every minute or so. Do that (without using cron, because heroku is not adequate with cron), I declare an initializer named task_scheduler.rb that uses Rufus scheduler to run tasks:

Things appear to work awesome for a while....then the rake process just stops picking up from the queue unexplainably. The queue just gets larger and larger. Even if i have multiple worker dynos running, they all eventually get tired and stop processing the queue. I'm not sure what I am doing wrong, but I suspect the referencing of the Rails environment in my rake task is causing the task_scheduler.rb code to run again, causing duplicate scheduling. I'm wondering how to solve that problem if someone knows, and I'm also curious if that is the reason for the rake task to stop working.

Thank you

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

ruby - Ruby: Rufus-Scheduler からハッシュを理解する

Rufus-Scheduler Ruby Gem を利用するアプリを作成しています。実行中のすべてのジョブを表示すると、返されるハッシュは次のようになります...

これを処理するのに苦労しています。これを JSON 文字列に変換しようとしましたが、アプリケーションがうまく動作せずIllegal Instruction、エラー ログにエラーが表示されます。

a で繰り返してみました.eachが、返されるだけですRufus::Scheduler::EveryJob_2154902980 => #

これを解析する方法についてのアイデアはありますか?

0 投票する
4 に答える
3030 参照

ruby-on-rails - Windowsでcronを実行するたびに実行

cronjobsやそのようなもののまったくの初心者は、これまでやったことがなかったので、RailsCastsで見た後、プラグインとしていつでも使用して手を汚そうとしました。したがって、Rubyアプリケーションのcronジョブを実行しようとしていますが、コードが原因であるか、Windows 7を使用しているために、機能していないようです。

これが私のサーバーモデルのコードです

そして、これが私のschedule.rbファイルからのコードで、cronジョブが含まれています

私は両方の方法を試しました(後者は最近使用したself.pingもので、サーバーモデルでメソッドを作成しました。

したがってwhenever、railsディレクトリで実行すると、次の出力が得られます。

1)おかしなことに、コードで述べても環境は開発に変わっていないようです。2番目)crontabファイルが更新されていません(そもそも存在するかどうかさえわかりませんか?)

そのため、ファイルを実行してcrontabを作成しようとしましたwhenever -w pingが、結果は次のようになりました。

だからこれが私の問題です、どんな助けもいただければ幸いです。

編集:わかりました。サーバーリストを頻繁に更新するために、rufus-schedulerを使用することにしました。私は、毎分テーブルに新しいサーバーを作成することが機能するかどうかをテストしましたが、それは機能しているように見えました。ただし、サーバーの作成を停止できなかったため、バンドルから削除し、「task_scheduler」ファイルを削除してから再インストールし、以前と同じようにすべてを実行しました。ただし、サーバーを実行しようとすると、次のエラーが発生します。

task_schedulerのコードは次のとおりです。

2つの方法のどちらを使用するかわからないため、最初の方法をコメントアウトしました。助けていただければ幸いです。前もって感謝します

編集 OK、最終的にそれを解決し、require 'rubygems' require 'rufus/scheduler'私のコードの上に置く必要がありました。今では正常に動作します:-)

0 投票する
2 に答える
1309 参照

ruby-on-rails - タイムゾーンのRufus-scheduler変数 - ruby​​ on rails

rufus-scheduler を使用して正午にすべてのユーザーに毎日電子メールを送信する Rails アプリを実行していますが、現在、アプリのタイムゾーン「台北」の正午に送信しています。

サインアップ時にユーザーのタイムゾーンをキャプチャしていますが、変数を rufus-scheduler タスクに入れることができません

@time_zone 変数を定義して、rufus が適切に読み取れるようにする場所がわからないだけだと思います。

前もって感謝します!

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

ruby - 複数のノードの問題で rufus スケジューラを実行していますか?

Rails 3 アプリで rufus-scheduler を問題なく実行できます。

しかし、私のアプリはノードのクラスター app1.myapp.com - app2.myapp.com で実行されているため、rufus-scheduler はジョブ app(N) 回を実行しています。

1 つのサーバーでのみ実行するにはどうすればよいですか?

0 投票する
3 に答える
2846 参照

ruby-on-rails - Rufus-scheduler は本番環境で 1 回だけ実行されます

rufus-scheduler を使用して、Rails サーバーから毎日プロセスを実行しています。テストの目的で、5 分ごととしましょう。私のコードは次のようになります。

config/initializers/task_scheduler.rb 内

cron形式も試しました:

たとえば、毎時 50 分にプロセスを実行するようにします。

腹立たしいのは、それが私のローカルマシンで動作することです。プロセスは定期的に実行され、機能します。プロセスが 1 回実行され、繰り返されないのは、本番環境にデプロイされたアプリのみです。

ps faux は、cron が実行されていること、passenger が rails プロセスのスピンアップを処理していること、サイトが再度 ping されているため更新する必要があることを示していることを明らかにし、本番環境はコードの変更を示しています。唯一の違いは、警告やエラーがなければ、スケジュールされたタスクが繰り返されないことです。

ヘルプ!

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

rubygems - rufus で scheduler.at を使用するには?

rufusscheduler.cronでは&scheduler.inを使用できますが、.scheduler.at

scheduler.at 'Thu Mar 26 07:31:43 +0900 2009'作者のサンプル( )をもとに以下試してみました。

  • scheduler.at 'Nov 08 09:45 +1000 2011' (シドニーにいるので +1000)
  • scheduler.at 'Tue Nov 08 09:50 +1000 2011'
  • scheduler.at '2011 年 11 月 8 日 09:45'

しかし、何も機能しませんでした。助言がありますか?