Merge pull request #49900 from dwoz/presence_wart

Connect before processing presence
This commit is contained in:
Nicole Thomas 2018-10-05 11:17:55 -04:00 committed by GitHub
commit cf1df79fe3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -337,7 +337,9 @@ class Maintenance(SignalHandlingMultiprocessingProcess):
'''
Fire presence events if enabled
'''
if self.presence_events:
# On the first run it may need more time for the EventPublisher
# to come up and be ready. Set the timeout to account for this.
if self.presence_events and self.event.connect_pull(timeout=3):
present = self.ckminions.connected_ids()
new = present.difference(old_present)
lost = old_present.difference(present)
@ -347,9 +349,7 @@ class Maintenance(SignalHandlingMultiprocessingProcess):
'lost': list(lost)}
self.event.fire_event(data, tagify('change', 'presence'))
data = {'present': list(present)}
# On the first run it may need more time for the EventPublisher
# to come up and be ready. Set the timeout to account for this.
self.event.fire_event(data, tagify('present', 'presence'), timeout=3)
self.event.fire_event(data, tagify('present', 'presence'))
old_present.clear()
old_present.update(present)