Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
19
Help us understand the problem. What is going on with this article?
@chatora_mikan

RailsでRakeタスクをcontrollerから呼び出す時の覚書

More than 1 year has passed since last update.

RailsでRakeタスクをcontrollerから呼び出す時の覚書

メドッドに以下を追加
require 'rake'
Rails.application.load_tasks
Rake::Task['タスク名'].execute

# clearをしないと次のリクエスト時にload_tasksでタスクが再度読み込まれ、execute内で2回実行されてしまう。
# さらにリクエストがあると3、4とどんどん増えるていく罠
Rake::Task['タスク名'].clear

clearしておかないと多重実行されるという罠にハマるので覚書で記述します。
意外と忘れて久しぶりに罠にまた引っかかるという・・・

なんでtaskをcontrollerから実行されているのというと
task作ったが非エンジニアから画面から実行したいとか、わざわざエンジニアがコンソール叩くのめんどくさくなったので

注)
この方法は、その場しのぎですので
本来はクラスに切り出して、taskでもcontrollerからでも両方から呼べるようにするべきです。

19
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
chatora_mikan
ruby on rails , laravel , golang でスマフォゲームのサーバーエンジニアをしています。 *circleCI でci/cd,Docker,AWS ECS運用やっています。 sentry,datadog,newrelicなども使用

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
19
Help us understand the problem. What is going on with this article?