如何打印capistrano当前线程哈希?

时间:2015-05-14 07:45:37

标签: ruby capistrano

capistrano的输出示例:

puts "DEBUG ["+????+"] Something happened!"

如您所见,每行以" {type} {hash}"开头。我假设散列是服务器或正在运行的线程的一些唯一标识符,因为我注意到如果我在多个服务器上运行capistrano,每个服务器都拥有它自己的独特散列。

我的问题是,我如何获得这个价值?我想在执行期间手动输出一些消息,我希望能够将我的输出与触发它的服务器匹配。

类似于:$("#add").click(function () { debugger; $('#save2').show();`C#` $.ajax({ type: "POST", url: "Branch_Audit_Summary.aspx/addempdetails", data: "", contentType: "application/json; charset=utf-8", cache: false, success: function (jsondata) { if (jsondata == undefined) { return; } var data = JSON.parse(jsondata.d); var m = data.length; for (var i = 0; i < m; i++) { var rowId = jQuery("#list4").getDataIDs().length; jQuery("#list4").addRowData(rowId + 1, data[i]); } } }); }); 我把什么放在????那里?或者是否有另一种内置方式来输出这样的消息?

供参考,我使用的是Capistrano版本:3.2.1(耙版:10.3.2)

1 个答案:

答案 0 :(得分:1)

这个哈希是一个命令uuid。它不是绑定到服务器,而是绑定到当前运行的特定命令。

如果您只想区分服务器,可以尝试以下

task :some_task do
  on roles(:app) do |host|
    debug "[#{host.hostname}:#{host.port}] something happened"
  end
end