如何在控制器内调用rake任务?

Rai*_*ner 2 ruby ruby-on-rails ruby-on-rails-3

如何在控制器中调用rake任务?

我需要延迟工作.

drh*_*ris 5

Rake::Task['task_name'].invoke(args)
Run Code Online (Sandbox Code Playgroud)

但是,我建议不要这样做; 这是不好的做法.如果您需要这种类型的功能,最好使用Cron,或者您可以将delayed_job与特定于您需要的自定义作业对象一起使用.我个人推荐后者,因为它在移动服务器时会减少痛苦.但是,delayed_job不是为了运行rake任务而构建的,它意味着对你创建的工作项进行排队.