Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar-network-node
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@sugarlabs.org>2012-10-31 08:23:08 (GMT)
committer Aleksey Lim <alsroot@sugarlabs.org>2012-10-31 08:23:08 (GMT)
commit82dba01df6c4cb85b4bff1fd6005a0e8b1139831 (patch)
tree0b12c2bb993445469c9d2045d24336984e790cca /sugar-network-node
parent1a963650528c365ef4e40ac89a950ab82be810ed (diff)
Commit node stats periodically
Diffstat (limited to 'sugar-network-node')
-rwxr-xr-xsugar-network-node14
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