我们在项目中使用带有导轨的 gem。我知道我们可以使用这样的 gem 来安排命令。
every 1.day, :at => '6:00 am' do
command "echo 'hello'"
end
但我的问题是我只想在满足某些条件时才执行此命令。像这样的东西。
every 1.day, :at => '6:00 am' do
if User.any_new_user?
command "echo 'hello'"
end
end
我们如何使用when 和rails 来实现这一点?我能想到的一种可能的解决方案是我为此创建一个跑步者并在那里检查该条件。类似于:
every 1.day, :at => '6:00 am' do
runner "User.say_conditional_hello"
end
在我的用户模型中:
def self.say_conditional_hello
`echo "Hello"`
end
关于这种方法或任何新方法的任何建议都会非常有帮助。
提前致谢!。