aboutsummaryrefslogtreecommitdiffstats
path: root/src/py/backend_server.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/py/backend_server.py')
-rwxr-xr-xsrc/py/backend_server.py34
1 files changed, 32 insertions, 2 deletions
diff --git a/src/py/backend_server.py b/src/py/backend_server.py
index 5a58445..6d0ceec 100755
--- a/src/py/backend_server.py
+++ b/src/py/backend_server.py
@@ -1,5 +1,7 @@
#! /usr/bin/env python
+import traceback
+import sys
import socket
import json
import datetime
@@ -23,10 +25,21 @@ from tojauth import TOJAuth
from test_blob import TOJBlobTable,TOJBlobHandle
from imc.blobclient import BlobClient
+class StdLogger(object):
+ def __init__(self,callback):
+ self._callback = callback
+
+ def write(self,data):
+ self._callback(data)
+
+ def flush(self):
+ pass
+
class BackendWorker(tornado.tcpserver.TCPServer):
def __init__(self,center_addr,ws_port):
super().__init__()
+ self._log = StdLogger(self._send_log)
self._ioloop = tornado.ioloop.IOLoop.current()
self.center_addr = center_addr
self.sock_addr = None
@@ -39,6 +52,9 @@ class BackendWorker(tornado.tcpserver.TCPServer):
self._client_linkmap = {}
def start(self):
+ sys.stdout = self._log
+ sys.stderr = self._log
+
sock_port = random.randrange(4096,8192)
self.sock_addr = ('10.8.0.6',sock_port)
@@ -121,6 +137,7 @@ class BackendWorker(tornado.tcpserver.TCPServer):
mod.load('Notice','notice',self._idendesc,self._get_link)
mod.load('UserMg','user',self._idendesc,self._get_link)
mod.load('SquareMg','square',self._idendesc,self._get_link)
+ mod.load('ProblemMg','problem',self._idendesc,self._get_link)
mod.load('Mail','mail',self._idendesc,self._get_link)
except Exception as e:
@@ -156,8 +173,13 @@ class BackendWorker(tornado.tcpserver.TCPServer):
TOJBlobHandle)
blobclient.open_container('test','ACTIVE')
- handle = blobclient.open('test','testblob',TOJBlobHandle.WRITE |
- TOJBlobHandle.CREATE)
+ try:
+ handle = blobclient.open(
+ 'test','testblob',
+ TOJBlobHandle.WRITE | TOJBlobHandle.CREATE
+ )
+ except:
+ pass
print(handle._fileno)
handle.write(bytes('Hello Data','utf-8'),0)
handle.commit(False);
@@ -275,6 +297,14 @@ class BackendWorker(tornado.tcpserver.TCPServer):
return ret
@imc.async.caller
+ def _send_log(self,data):
+ links = self._client_linkmap.keys()
+
+ with TOJAuth.change_current_iden(self._idendesc):
+ for link in links:
+ Proxy.instance.call_async(link + 'core/stat/','print_log',10000,None,data)
+
+ @imc.async.caller
def _test_get_client_list(self,talk,talk2):
stat,ret = Proxy.instance.call(TOJAuth.get_current_iden()['link'] + 'test/route/','80s',1000,'attation','mega')
print(ret)