Mercurial > code > home > repos > light9
changeset 1446:ba6594263fa7
collector: client's prev settings are no longer mixed with its new request. this breaks live page
Ignore-this: 3155a2ab028d9e006ed4796ef8fbf8d0
author | drewp@bigasterisk.com |
---|---|
date | Sat, 11 Jun 2016 21:29:06 +0000 |
parents | 6001c86f9fca |
children | 8a9a9b58a4e2 |
files | light9/collector/collector.py |
diffstat | 1 files changed, 13 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/light9/collector/collector.py Sat Jun 11 21:16:06 2016 +0000 +++ b/light9/collector/collector.py Sat Jun 11 21:29:06 2016 +0000 @@ -75,13 +75,18 @@ now = time.time() self._forgetStaleClients(now) - row = self.lastRequest.get(client) - if row is not None: - sess, _, prevClientSettings = row - if sess != clientSession: + + if 0: # client updates their past requests? + row = self.lastRequest.get(client) + if row is not None: + sess, _, prevClientSettings = row + if sess != clientSession: + prevClientSettings = {} + else: prevClientSettings = {} - else: + else: # client always provides all the nonzero settings it wants prevClientSettings = {} + prevClientSettings.update(self.resolvedSettingsDict(settings)) self.lastRequest[client] = (clientSession, now, prevClientSettings) @@ -115,7 +120,9 @@ self.flush(pendingOut) dt2 = 1000 * (time.time() - now) if dt1 > 10: - print "slow setAttrs: %.1fms -> flush -> %.1fms" % (dt1, dt2) + print "slow setAttrs: %.1fms -> flush -> %.1fms. lr %s da %s oa %s" % ( + dt1, dt2, len(self.lastRequest), len(deviceAttrs), len(outputAttrs) + ) def setAttr(self, device, outputAttr, value, pendingOut): output, index = self.outputMap[(device, outputAttr)]