Ejemplo n.º 1
0
 def _log(self, key, data, dtype, options: LogOptions = None):
     if self.local_server:
         self.local_server.log(key, data, dtype, options)
     else:
         # todo: make the json serialization more robust. Not priority b/c this' client-side.
         json = LogEntry(key, serialize(data), dtype, options)._asdict()
         self.session.post(self.url, json=json)
Ejemplo n.º 2
0
 def ping(self, exp_key, status, burn=True):
     status_path = os.path.join(exp_key, '__presence')
     self.log(status_path, dict(status=status, time=datetime.now()), dtype="yaml",
              options=LogOptions(overwrite=True, write_mode='key'))
     signal_path = os.path.join(exp_key, '__signal.pkl')
     res = self.load(signal_path, 'read_pkl')
     if burn:
         self.remove(signal_path)
     return serialize(res)
Ejemplo n.º 3
0
 def read_handler(self, req):
     if not req.json:
         msg = f'request json is empty: {req.text}'
         print(msg)
         return req.Response(text=msg)
     load_entry = LoadEntry(**req.json)
     print("loading: {} type: {}".format(load_entry.key, load_entry.type))
     res = self.load(load_entry.key, load_entry.type)
     data = serialize(res)
     return req.Response(text=data)
Ejemplo n.º 4
0
 async def read_handler(self, req):
     import sanic
     if not req.json:
         msg = f'request json is empty: {req.text}'
         print(msg)
         return sanic.response.text(msg)
     load_entry = LoadEntry(**req.json)
     print("loading: {} type: {}".format(load_entry.key, load_entry.type))
     res = self.load(load_entry.key, load_entry.type, load_entry.start,
                     load_entry.stop)
     data = serialize(res)
     return sanic.response.text(data)