【问题标题】:How to print capistrano current thread hash?如何打印 capistrano 当前线程哈希?
【发布时间】:2015-05-14 07:45:36
【问题描述】:

capistrano 的示例输出:

INFO [94db8027] Running /usr/bin/env uptime on leehambley@example.com:22
DEBUG [94db8027] Command: /usr/bin/env uptime
DEBUG [94db8027]   17:11:17 up 50 days, 22:31,  1 user,  load average: 0.02, 0.02, 0.05
INFO [94db8027] Finished in 0.435 seconds command successful.

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

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

类似:puts "DEBUG ["+????+"] Something happened!" 我在里面放什么???那里?还是有另一种内置方式来输出这样的消息?

作为参考,我使用的是 Capistrano 版本:3.2.1(Rake 版本:10.3.2)

【问题讨论】:

    标签: ruby capistrano


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-30
      • 2012-10-23
      • 1970-01-01
      • 2022-12-10
      • 1970-01-01
      • 2014-03-30
      • 2011-10-27
      • 2017-01-10
      相关资源
      最近更新 更多