插件 rake 任务多次运行 - 我们遗漏了什么?

我可能有点迟了 :slight_smile:

我在一个新插件中遇到了同样的问题,并进行了一些搜索。似乎这个问题也影响了其他插件(例如:官方聊天插件),但我找到了一个避免任务被重复注册的有效解决方案:

# 清除任何先前的注册
task('import_json:preview').clear

# 任务定义
desc 'Previews changes which would be applied by import_json'
task 'import_json:preview', [:file_path] => :environment do |_task, args|
  puts "Hello world!"
end

在任务描述 之后 清除将阻止任务在 rake --tasks 中列出,因此必须在之前清除。