問題タブ [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 gemがレールで機能しない
私は state_machine gem と rufus-scheduler gem を使用しています。ステート マシンは完全に機能しています。ただし、Rufus-scheduler はそうではありません。rufus gem に慣れるためだけにこのプログラムを作成しています。:accepted が :both に遷移してから 10 秒後に、:only_employer に遷移する必要があります。しかし、何らかの理由で rufus-scheduler が機能していません。:both への移行は機能しますが、:only_employer への移行は行われません。これを修正するにはどうすればよいですか? ありがとう。
ruby-on-rails - rufus スケジューラを .in ではなく .at で動作させる方法がわかりません
スケジュールとタスクの 2 つのモデルがあります。タスクは Schedule に属し、Schedule は has_many のタスクに属します。「タスクの追加」ボタンを押すことで、JavaScriptを使用してより多くのタスクフォームを動的に作成するタスク用のネストされたフォームがあります。rufus_scheduler を使用して、タスクにユーザーが入力した終了日と終了時刻があるようにしようとしています。タスクが完了したら、「yo yo yo」をサーバーに出力するだけです。
次のコードを使用して、最初のタスクを数秒で正常に完了することができました。
上記のコードでは、 timeframe は、ジョブが発生する前に指定された秒数でユーザーが入力する整数フィールドです。
問題は、上記のコードが間隔を使用しており、正確な日付と時刻を使用したいことです。そこで、時間枠を文字列に変更し、ユーザーに「12/18/2013」という形式で日付を入力してもらいました。これが私が試したことです:
明確にするために、timeframe は日付で構成される文字列で、complete_time はタスクが終了する時刻で構成される時間フィールドです。
このコードは機能しませんでした。「yo yo yo」はまだ印刷されますが、すぐに印刷されます。
postgres データベースを使用して webrick で rails を実行しています。Ruby on Rails 4 と Ruby 2 を使用しています。助けていただければ幸いです。ありがとう!
アップデート:
コードに 2 つのエラーがあることに気付きました。complete_time は、読み取り不能な形式に自動的に変換されていました。complete_time を文字列に変更することでこれを修正しました。さらに、.at メソッドの引数が引用符で囲まれていないことに気付きました。これを修正しました。しかし、私はまだ同じ問題を抱えています。「ヨヨヨ」と言う時間まで待つのではなく、すぐに入れることです。新しいコードは次のとおりです。
scheduler.at メソッドは、次のようにサーバーに送信されます。
もちろん、ユーザー入力の時間と日付の変更が深まっています。上記のコードは、最後に実行したときのものです。
ruby-on-rails - Heroku にデプロイされた Rails アプリで rufus-scheduler を動作させるにはどうすればよいですか?
./config/initializers
という名前のファイルを作成しました。このファイルにtask_scheduler.rb
は次のコードが含まれています。
はrufus-scheduler
、開発環境でテストするときに機能します。しかし、アプリを Heroku (無料) にデプロイすると動作しなくなります。
Phusion Passenger 4.0.27
アプリケーションサーバーとして使用しています。
私の Gemfile は次のようになります。
Procfile
Phusion Passenger に必要なには、次のものが含まれます。
実行中のワーカーはありません。無料の標準web
Dyno を 1 つ使用しています。
rufus-scheduler
Heroku へのデプロイ中に機能しない理由はありますか?
アップデート
.rake
顧客ファイルを作成し、無料でタスクを実行できることはわかってHeroku Scheduler add-on
います。rufus-scheduler
しかし、無料のheroku
dynoの組み合わせを機能させる方法があるかどうか疑問に思っています。
ruby-on-rails - 毎回2回実行されるrufusスケジューラ
私のタスクかもしれませんし、私のスケジューラかもしれませんが、何らかの理由でスケジュールされたタスクが 2 回実行されているか、2 つのバージョンが DB に保存されています。これが私のコードです:
report.rb:
および scheduler.rb:
本当に明らかな何かが欠けていますか?保存されたページ統計のデータベースからの出力は次のとおりです。
タイムスタンプからわかるように、10分ごとに2回実行されます
編集:
データをもう一度見たところ...スケジューラーのタイミングが数回変更されました。
- 最初に、10 分ごとに 2 回続けてジョブを実行しました。
- その後、10分に1回に切り替わりました
- その後、5分に1回に切り替わりました
- その後、5分に2回に切り替わりました
編集 2: ロック後の新しい出力:
私のファイルは次のようになります。
ただし、heroku ログにはエラーがあります。
ruby - Rufus Scheduler: x 秒ごとに実行し、最初の実行はすぐに行う
rufus スケジューラを使用して、いくつかのタスクを頻繁に実行しています。スクリプトが開始されるとすぐにすべてのタスクを多かれ少なかれ実行し、次に指定された間隔で実行したいと思います。これは API でサポートされていないようですが、何か不足していますか?
次のように、最初の実行までの遅延として0.1秒を指定することに頼りました
プロパティが 0 に設定されている場合:first_in
、スケジューラは最初の実行前に 10 秒間待機します。値が低すぎる場合 (タスクの実行に関して過去に評価されたものだと思います)、または を使用するTime.now
と、次のエラーが発生します。
これを行う正しい方法は何ですか?
ruby-on-rails - dynoの数だけRufusスケジューラが呼び出されるのを避けるにはどうすればよいですか?
Rufus Schedulerを使用するHerokuでrails アプリを実行しています。
私のアプリは複数使用しており、スケジューラは1 つだけではなくdyno
それぞれで実行されているため、スケジュールされたイベントが複数回 (それぞれ 1 回) 発生します。dyno
dyno
どうすればこれを回避できますか?
ruby-on-rails - Rufusスケジューラーが本番環境で実行されていません
私は本番環境でプーマを実行しています。
これは puma の構成です。ただし、1 つのインスタンスの Rufus-scheduler のみが、開発環境で正常に動作しており、期待どおりに動作しています。
Rails 4.0.2で実行しています
これが実行できない理由はありますか?
ruby - Rufusスケジューラで例外をスローするRubyコード
無限ループで機能を実行する debian Linux でコントローラーを実行しています。これに加えて、Rufus Scheduler を使用して、特定の時間 (たとえば 1 分) 後に実行される機能をスケジュールしています。関数が Rufus で適切に実行されると、次のエラーが表示されます。
ruby-on-rails - ユーザー入力に基づいて時間がスケジュールされるように、Rufus スケジューラ内 (コントローラー内) のモデルからメソッドを呼び出すにはどうすればよいですか? レール4
これがシナリオです。Rails 4 と Rufus Scheduler を使用して、将来の特定の時間に SMS を送信するアプリを作成しています。これまでのところ、ボタンをクリックするだけで SMS を送信したい場合、SMS が機能するようになりました。また、以下のような独自のコードで設定したタイマーでそれらを送信することもできます。これにより、メッセージを将来送信することができます。基本的に、タイマーを設定し、タイマーが鳴ったらメソッドを呼び出して SMS メッセージを送信します。
これはすべて素晴らしいことですが、最後に行う必要があるのは、ユーザー入力を受け取り、それを日付/時刻/タイムゾーンがある場所に配置するメソッドを作成することです。私の new.html.erb では、すでにこの情報をすべて取り込んでいますが、そこから取得してスケジューラ アクションに入れる方法がわかりません。
これは機能します:
これは私がすでに試したことですが、運がありません。
モデルはこちら。
で、コントローラーはこちら。
終わり
そしてビュー:
私はこれを 3 時間以上クラックしようとしてきましたが、運がありませんでした。私は Rails の初心者です。この質問が完全にフォーマットされていない場合は、事前に申し訳ありません。まだまだ勉強中。「-」、「+」、および「 」を使用すると、メソッドでエラーが発生し続けました。だから私はそれらのものをビューの中に入れました。それが奇妙に見える理由です。皆さんはどう思いますか?