ruby-on-rails - 如何在 Rails 中使用 whenever gem 运行 Controller 操作?

标签 ruby-on-rails whenever

例如,我有一个 Controller “帖子”和操作“创建”。我可以从终端运行它吗?

我想使用 whenever gem:

every 2.hours do
    # I want to run posts#index
end

我该怎么做?

最佳答案

一个解决方案是创建一个执行 create 逻辑的类:

class PostsController < ApplicationController

  def create
    creator = PostCreator.new(params)
    creator.process
  end
end

所以你可以在 Whataver 的工作中使用这个类:

every 2.hours do
  creator = PostCreator.new({ whatever: 'you want'})
  creator.process
end

关于ruby-on-rails - 如何在 Rails 中使用 whenever gem 运行 Controller 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28429143/

相关文章:

mysql - Rails 不等于 current_user 总是没有结果

ruby-on-rails - 访问关联的关联

ruby-on-rails - 每当 rails 使用时都找不到 rake

ruby - 使用 Sinatra 安排 rake 任务

ruby-on-rails - 如何正确执行用户设置的时间/频率的重复性任务

从索引链接加载页面时,Javascript 未加载

ruby-on-rails - Rails 模型方法自。与普通

ruby-on-rails - 即使在重新启动服务器后,Rails 开发环境也不会更新 html/css/assets

ruby-on-rails - Rails 3.1 每当 gem 在开发中工作但不在生产中工作时。为什么?

ruby-on-rails - 是否有可能以动态时间间隔运行 cron 作业?请建议