gpt4 book ai didi

ruby-on-rails - 从一系列 Rake 任务中退出并继续下一个

转载 作者:太空宇宙 更新时间:2023-11-03 16:19:43 25 4
gpt4 key购买 nike

我有这个主要的 Rake 任务

  namespace :crawler do

task main: :environment do
Rake::Task['tester:first'].execute
Rake::Task['tester:second'].execute
Rake::Task['tester:third'].execute
end

end

每个任务都运行一段代码来检查一个值是否存在,如果不存在则退出任务并继续下一个任务。实际上代码如下,但它不起作用

def check(value)
if !value.nil?
return value
else
exit
end
end

当我到达退出部分时,整个程序退出,其他任务不执行。

最佳答案

如果检查方法返回 nil,请尝试在 Rake 任务中使用“next”跳转到下一个任务。

您可以在“检查”函数中使用条件语句来返回值(如果存在),或者如果值为 nil 则返回 nil。然后,如果 check 返回 nil,则可以使用 next(不是 exit)跳转到下一个任务。

task :main do
Rake::Task['first'].execute(value: 'Hello, Rake world!')
Rake::Task['second'].execute
end

task :first do |_t, args|
value = args[:value]
next if check(value).nil?
puts 'the value is: ' + value
end

task :second do
puts 'the second task'
end

def check(value)
if value.nil?
return nil
else
return value
end
end

在函数定义中使用“next”是行不通的。您只能从当前 rake 任务中跳到下一个 rake 任务

关于ruby-on-rails - 从一系列 Rake 任务中退出并继续下一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36250040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com