質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

1回答

2908閲覧

不定期なバッチ処理(リクエストが行われた日時のみ実行)を実装したいです。(wheneverのようなgemを用いて。)

qaz3330

総合スコア113

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

0クリップ

投稿2016/07/30 08:53

次のようなバッチ処理を実装したいと思ってます。
但し、一日一回みたいな定期的なものではなく、あくまでリクエストが行われた時のみです。
そのため、多い日は一日5回バッチ処理が走ることがあったり、逆に一日一回実行されない日もあります。

画面上から実行したい日時を入力し、リクエストを送信 ↓ その時間帯になると、バッチ処理が起動

定期的なバッチ処理をRailsで実現するには
wheneverというgemがよさそうでした。

ただ、前述のとおり、不定期なバッチ処理を実現するためにはどのような設計をすればできるのかわからず質問させて頂きました。

よろしくお願いします。

※ 以下のようなイメージで実現できればなと考えております。

# params[:batch_requests] には複数の日時が入る every params[:batch_requests] do rake 'my:rake:task' end

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

参考にならないかもしれませんが、自分だったらということで…

まず、スケジュール表相当のファイルなりDBなりを使って運用します。
スケジュールには複数件登録され、実行したら消し込みます。
実行するか否かはcronに登録(毎時実行)した処理でチェック、
該当したら実行&消込という流れとします。

スケジュールの登録/変更/削除はWebで作るのが簡単かな。
チェック&消込の部分と実行する部分は別に作ります。
通常は1時間ごとに実行できますが、もっと細かい設定にするとか、
Webからリアルタイムに実行できるようにするとか。

という感じで。:-)

投稿2016/07/30 10:16

takasima20

総合スコア7458

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

qaz3330

2016/07/30 10:22

ご回答ありがとうございます。 cronだと cronに登録(毎時実行)した処理でチェックする方法も考えたのですが、 スケジュールが全く登録されていない日は無駄にチェックするcronが走るだけなので、もっといい方法があればなと思いました。。。 チェックする間隔は一時間に一回で大丈夫です。 やはり表題のような実装方法は難しそうですね。 もう少し他の方の回答を待ってみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問