54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
# File 'lib/VMwareWebService/MiqVimCoreUpdater.rb', line 54
def monitorUpdates(&block)
log_prefix = "#{self.class.name}.monitorUpdates"
@umPropCol = nil
@filterSpecRef = nil
@monitor = true
@debugUpdates = false if @debugUpdates.nil?
@dumpToLog = true if @debugUpdates
$vim_log.debug "#{log_prefix}: debugUpdates = #{@debugUpdates}"
begin
@umPropCol = @sic.propertyCollector
@filterSpecRef = createFilter(@umPropCol, @updateSpec, "true")
version = nil
while @monitor
updates_version = doUpdate(version, @maxWait, &block)
next if updates_version.nil?
version = updates_version
sleep @updateDelay if @updateDelay
end rescue SignalException => err
rescue => herr
if herr.respond_to?(:reason) && herr.reason == 'The task was canceled by a user.'
$vim_log.info "#{log_prefix}: waitForUpdates canceled"
else
$vim_log.error "******* #{herr.class}"
$vim_log.error herr.to_s
$vim_log.error herr.backtrace.join("\n") unless herr.kind_of?(HTTPClient::ReceiveTimeoutError) raise herr
end
ensure
if isAlive?
if @filterSpecRef
$vim_log.info "#{log_prefix}: calling destroyPropertyFilter...Starting"
destroyPropertyFilter(@filterSpecRef)
$vim_log.info "#{log_prefix}: calling destroyPropertyFilter...Complete"
end
$vim_log.info "#{log_prefix}: disconnecting..."
disconnect
$vim_log.info "#{log_prefix}: disconnected"
end
@filterSpecRef = nil
end
end
|