##// END OF EJS Templates
Reorganize models, smaller docker, others
Reorganize models, smaller docker, others

File last commit:

r2:ccdf3a6b9025
r2:ccdf3a6b9025
Show More
consumers.py
52 lines | 1.9 KiB | text/x-python | PythonLexer
Juan C. Espinoza
Docker working
r1 import os
First version RTI, Spectra, Noise + Docker
r0 import json
Reorganize models, smaller docker, others
r2
First version RTI, Spectra, Noise + Docker
r0 from datetime import datetime
Juan C. Espinoza
Docker working
r1
First version RTI, Spectra, Noise + Docker
r0 from pymongo import MongoClient
from channels.handler import AsgiHandler
from channels.auth import channel_session_user
from channels import Group
Juan C. Espinoza
Docker working
r1 host = os.environ.get('HOST_MONGO', 'localhost')
CLIENT = MongoClient('{}:27017'.format(host))
First version RTI, Spectra, Noise + Docker
r0 DB = CLIENT['dbplots']
# Connected to websocket.connect
def ws_connect(message, code, plot):
message.reply_channel.send({'accept': True})
Reorganize models, smaller docker, others
r2 pk = message.content['query_string'].split('=')[1]
Group('{}_{}'.format(pk, plot)).add(message.reply_channel)
print('New connection from: {}, creating Group: {}_{}'.format(message.content['client'][0], pk, plot))
First version RTI, Spectra, Noise + Docker
r0
def ws_message(message, code, plot):
# Accept the incoming connection
Reorganize models, smaller docker, others
r2 print 'incoming message'
First version RTI, Spectra, Noise + Docker
r0 dt = datetime.strptime(str(json.loads(message.content['text'])['date']), '%d/%m/%Y')
Reorganize models, smaller docker, others
r2 exp = DB.exp_meta.find_one({'code': int(code), 'date': dt})
print exp
if exp:
First version RTI, Spectra, Noise + Docker
r0 if plot == 'spc':
Reorganize models, smaller docker, others
r2 datas = DB.exp_data.find({'expmeta': exp['_id']}, ['time', 'data']).sort('time', -1).limit(1)[0]
exp['time'] = [datas['time']]
exp['spc'] = datas['data']['spc']
exp['rti'] = datas['data']['rti']
exp['noise'] = datas['data']['noise']
First version RTI, Spectra, Noise + Docker
r0 else:
Reorganize models, smaller docker, others
r2 datas = DB.exp_data.find({'expmeta': exp['_id']}, ['time', 'data']).sort('time', 1)
print 'Counting...'
print datas.count()
First version RTI, Spectra, Noise + Docker
r0 dum = [(d['time'], d['data'][plot]) for d in datas]
Reorganize models, smaller docker, others
r2 exp['time'] = [d[0] for d in dum]
Juan C. Espinoza
Docker working
r1 dum = [d[1] for d in dum]
Reorganize models, smaller docker, others
r2 exp[plot] = map(list, zip(*dum))
exp.pop('date', None)
exp.pop('_id', None)
message.reply_channel.send({'text': json.dumps(exp)})
First version RTI, Spectra, Noise + Docker
r0 else:
message.reply_channel.send({'text': json.dumps({'interval': 0})})
# Connected to websocket.disconnect
def ws_disconnect(message, code, plot):
Group('{}_{}'.format(code, plot)).discard(message.reply_channel)