首页 > 解决方案 > 我可以检测是否在命令行上触发了 rake 任务(而不是使用 cron 等)?

问题描述

当然,由控制器触发的 rake 任务是不常见的(并且有点笨拙),但由 cron 触发它们却很常见。我想从 rake 任务中检测它是否是在命令行上手动启动的。

我怎样才能做到这一点?这是在 shell 脚本中做的一件非常标准的事情,但我找不到任何关于如何用 rake 任务来做的文档。

标签: ruby-on-railsrubyrake

解决方案


尝试这个:

if defined?(Rails::Console) 
  ....
end 

或者,您可以检查caller[0]从 cmd 调用时返回的内容,并在 if 中使用它。


推荐阅读