我已经编写了一个非常简单的rake任务来尝试定位此问题的源头。
当在控制台中执行
namespace :foo do
task bar: :environment do
puts 'RUNNING'
end
end
当在控制台中执行
rake foo:bar
时,输出结果为:RUNNING
RUNNING
当我执行任何rake任务时都会出现这种情况。有人之前遇到过类似的情况吗?
编辑
上述rake任务是该.rake文件中唯一编写的内容。
以下是当前使用的Rakefile。
require File.expand_path('../config/application', __FILE__)
OurApp::Application.load_tasks
这里还有一些运行--trace的输出结果。
** Invoke foo:bar (first_time)
** Invoke environment (first_time)
** Execute environment
Hostname is: ourhost
** Execute foo:bar
RUNNING
RUNNING
rails_12factor
会导致日志重复记录。如果你已经安装了它,请确保只在:production
环境中加载它:gem 'rails_12factor', group: :production
。 - infusedrake
或者可能是一个 Rake 文件?在谷歌上搜索“rake 执行两次”会有很多可能的原因,但大多数似乎都归结于不必要的多个 require 或初始化。 - engineersmnkyrake foo:bar --trace
,它会显示任务的顺序,这可能会让你知道是什么在调用特定任务两次。 - Dharam Gollapudiputs "STILL RUNNING"
并向我们展示输出,以便我们可以排除可能的重复回显到控制台的情况? - Matouš Borák