【发布时间】:2023-03-16 08:44:01
【问题描述】:
我有这个主要的 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
当我到达 Exit 部分时,整个程序退出,其他任务不执行。
【问题讨论】:
-
Exit 将终止整个脚本,而不仅仅是任务。你不能把它拿出来吗?
-
你写了“检查一个值是否存在,如果它不存在则退出任务”但是在你的“检查”方法中,如果值存在(不是零),你正在运行“退出”
-
有什么原因,你为什么不使用像
task main: :environment => ['tester:first', 'tester:second','tester:third']这样的先决条件? -
@knut 不是真的,这将如何适用于我的问题?
标签: ruby-on-rails ruby rake rake-task