自定义命令结果

时间:2014-09-16 13:47:42

标签: cloudify

调用自定义命令时,我注意到只显示了日志。例如,如果我的自定义命令脚本包含一个回归语句return "great custom command",我就无法在结果中找到它。在API Java客户端或shell执行情况下。

如果能够在执行结束时检索该结果,我该怎么办?

感谢。

服务描述文件中的命令定义:

    customCommands ([
    "getText" : "getText.groovy"
  ])

getText.groovy文件内容:

def text = "great custom command"
println "trying to get a text"
return text

1 个答案:

答案 0 :(得分:1)

假设您的服务文件包含以下内容:

customCommands ([

    "printA" : {
            println "111111"
            return "222222"
    },

    "printB" : "fileB.groovy"
])

fileB.groovy包含以下代码:

println "AAAAAA"

return "BBBBBB"

然后,如果您运行以下命令:调用yourService printA

你会得到这个:

调用结果: 1:来自实例#1 ......,结果:222222

调用成功完成。

如果您运行以下命令:调用yourService printB

你会得到这个:

调用结果: 1:来自实例#1 ......,结果:AAAAAA

调用成功完成。

因此,如果您的自定义命令的实现是Groovy闭包,那么它的结果就是它的返回值。

如果你的自定义命令的实现是一个外部Groovy文件,那么它的结果就是它的最后一个语句输出。

HTH,

塔米尔。