ruby-on-rails - 我可以检测是否在命令行上触发了 rake 任务(而不是使用 cron 等)?
问题描述
当然,由控制器触发的 rake 任务是不常见的(并且有点笨拙),但由 cron 触发它们却很常见。我想从 rake 任务中检测它是否是在命令行上手动启动的。
我怎样才能做到这一点?这是在 shell 脚本中做的一件非常标准的事情,但我找不到任何关于如何用 rake 任务来做的文档。
解决方案
尝试这个:
if defined?(Rails::Console)
....
end
或者,您可以检查caller[0]
从 cmd 调用时返回的内容,并在 if 中使用它。
推荐阅读
- python - 用numpy linalg lstsq曲线拟合复杂方程
- c++ - 带有接口和默认实现的 C++ 继承
- c# - C# - 代理检查问题
- css - 更改 HTML 溢出
- mysql - Laravel 动态查询等于任何值
- gams-math - uniformInt 产生重复数
- jquery - 来自 SQL Server 的位置名称并在 Leaflet 地图上绘制
- javascript - jQuery myClass.click 不工作,但 html.click 功能工作
- java - 如何读取一列中包含多个值的 .csv 文件
- javascript - 尝试从 localhost 访问 api 时如何解决“Access-Control-Allow-Origin”错误