diff options
author | Aleksey Lim <alsroot@sugarlabs.org> | 2012-10-31 08:23:08 (GMT) |
---|---|---|
committer | Aleksey Lim <alsroot@sugarlabs.org> | 2012-10-31 08:23:08 (GMT) |
commit | 82dba01df6c4cb85b4bff1fd6005a0e8b1139831 (patch) | |
tree | 0b12c2bb993445469c9d2045d24336984e790cca /sugar-network-node | |
parent | 1a963650528c365ef4e40ac89a950ab82be810ed (diff) |
Commit node stats periodically
Diffstat (limited to 'sugar-network-node')
-rwxr-xr-x | sugar-network-node | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/sugar-network-node b/sugar-network-node index a1fa39d..7180799 100755 --- a/sugar-network-node +++ b/sugar-network-node @@ -31,7 +31,7 @@ from sugar_network.client.mounts import LocalMount from sugar_network.client.mountset import Mountset from sugar_network.client.mounts import LocalMount from sugar_network.node import stats, obs -from sugar_network.node.commands import MasterCommands +from sugar_network.node.commands import NodeCommands from sugar_network.resources.volume import Volume from sugar_network.toolkit import sugar, sneakernet from sugar_network.toolkit.router import Router @@ -53,7 +53,12 @@ class Application(application.Daemon): volume = Volume(node.data_root.value) self.jobs.spawn(volume.populate) - cp = MasterCommands(volume) + + node_stats = None + if stats.stats_node_step.value: + node_stats = stats.NodeStats(volume) + self.jobs.spawn(self._commit_stats, node_stats) + cp = NodeCommands(volume, node_stats) logging.info('Listening for requests on %s:%s', node.host.value, node.port.value) @@ -86,6 +91,11 @@ class Application(application.Daemon): def shutdown(self): self.jobs.kill() + def _commit_stats(self, node_stats): + while True: + coroutine.sleep(stats.stats_node_step.value) + node_stats.commit() + # Let toolkit.http work in concurrence # XXX No DNS because `toolkit.network.res_init()` doesn't work otherwise |