假设我有一系列rake
任务
taskA --(calls)--> taskB --(calls)--> taskC
有没有办法,在taskC
的中间获取调用rake任务的列表?即已被调用以完成此任务的rake
个任务链?
caller
在此实例中返回一个不太有用的堆栈跟踪。
谢谢!
答案 0 :(得分:1)
我不知道是否有原生解决方案,但这就是我要做的事情:
在每个任务的开头,将任务的名称附加到文件中的Hash中:
#getting the list
task_list = JSON.parse(File.open("task_chain.json"))
#updating the list
task_list << "my_new_task_name"
#writing the list
File.open("task_chain.json", "w"){ |file|
file.write(JSON.pretty_generate(task_list))
}
然后,您只需访问此文件即可了解您的任务链:task_list = JSON.parse(File.open("task_chain.json"))
您可能希望将其转换为方法,而不是反复重复相同的代码。并且不要忘记在链的第一个任务之前清空文件。