###前提・実現したいこと
現在、ruby on railsであるモデルの全レコードを更新する定時処理(rakeタスク)を実装しています。
rakeタスク名はrails hoge_test:hogeとします。
この定時処理をしている間、ユーザーから入力されると計算が狂ってエラーになってしまうので、
ユーザー入力のアクションの前にフィルタ(before_action)を仕込んで、
定時処理をしているなら、ユーザー入力できないようにしたいと考えています。
ここで問題なのですが、
実行中の特定のrakeタスク(今回の場合rails hoge_test:hogeというrakeタスク)を判別するにはどうすればいいのでしょうか?
教えて頂ければ幸いです。
ruby
1class AccountTransactionsController < ApplicationController 2#ユーザーがアクションをする前におこなう処理 3before_action :scheduled_processing_check 4 5#特定のバッチ処理が実行中ならユーザーは以下のアクションにはアクセスできないようにする 6def new 7end 8def create 9end 10def update 11end 12 13private 14def scheduled_processing_check 15#特定のrakeタスクを判別する方法がわからない 16????????? 17????????? 18end
ruby on rails5
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/26 23:41