我可以检测是否在命令行上触发了 rake 任务而不是使用 cron 等?

问题描述

当然,rake 任务由控制器触发(以及一些笨拙的东西)是不寻常的,但由 cron 触发它们很常见。我想从 rake 任务中检测它是否是在命令行上手动启动的。

我该怎么做?这是在 shell 脚本中执行的非常标准的操作,但我找不到有关如何使用 rake 任务执行此操作的任何文档。

解决方法

试试这个:

/mockserver

或者您可以检查从 cmd 调用时 if defined?(Rails::Console) .... end 返回的内容,并在 if 中使用它。