Events: connect and disconnect
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
# coding: utf-8
|
||||
|
||||
import json
|
||||
import logging
|
||||
import os
|
||||
@@ -263,6 +262,8 @@ class TCPWorker(threading.Thread):
|
||||
if ex.send_error:
|
||||
self.send_data({'auth_error': True})
|
||||
self.stop_event.set()
|
||||
if self.is_incoming:
|
||||
self.bnd_connected(self.connected_id)
|
||||
|
||||
while not self.stop_event.is_set():
|
||||
try:
|
||||
@@ -273,6 +274,8 @@ class TCPWorker(threading.Thread):
|
||||
self.in_q.put(self.parcel)
|
||||
except Exception as exc:
|
||||
log.exception('Unexpected error: %s', exc)
|
||||
if self.is_incoming:
|
||||
self.bnd_disconnected(self.connected_id)
|
||||
self.socket.close()
|
||||
log.info('%s - Bye!', self.name)
|
||||
|
||||
@@ -608,3 +611,17 @@ class TCPWorker(threading.Thread):
|
||||
self.send_data({'notice': True,
|
||||
'parcel_id': self.parcel.id,
|
||||
'parcel_state': self.parcel.state})
|
||||
|
||||
def bnd_connected(self, bnd_name: str):
|
||||
s = ServerProxy(settings.auth_provider)
|
||||
try:
|
||||
return s.bnd_connected(bnd_name)
|
||||
except Exception:
|
||||
raise socket.error('Authentication provider not available')
|
||||
|
||||
def bnd_disconnected(self, bnd_name: str):
|
||||
s = ServerProxy(settings.auth_provider)
|
||||
try:
|
||||
return s.bnd_disconnected(bnd_name)
|
||||
except Exception:
|
||||
raise socket.error('Authentication provider not available')
|
||||
|
||||
@@ -211,7 +211,7 @@ class XMLRPCMethods(object):
|
||||
|
||||
def queueList(self):
|
||||
return {'success': True,
|
||||
'rows': parcelqueue.manager.queue_list()}
|
||||
'rows': list(parcelqueue.manager.queue_list())}
|
||||
|
||||
def deleteReplicationsParcels(self, replications_recipients, replications_ids):
|
||||
replications_recipients = ['tcp://%s' % recipient for recipient in replications_recipients]
|
||||
|
||||
2
start.sh
2
start.sh
@@ -1,3 +1,3 @@
|
||||
source venv/bin/activate
|
||||
python3 enserver/enserver.py --id bnd127 --db-host 10.10.8.83 --db-port 32101 --storage store --auth-provider http://10.10.8.81:9000/ --debug http://10.10.8.81:9000/
|
||||
python3 enserver/enserver.py --id bnd127 --db-host 10.10.8.83 --db-port 32101 --storage store --auth-provider http://10.10.8.70:9000/ --debug http://10.10.8.70:9000/
|
||||
# --debug --port=7001 --pidfile=/tmp/enserver.pid --logfile=/var/log/enserver.log --id=prilvbox --address=enserv --storage=/share/store/enserver --db-host=10.10.8.83 --db-port=32101 --host=10.10.78.40 --db-user=postgres --db-passwd=Root12345678 --auth-provider=http://10.10.8.81:9000/ --replication-provider=http://10.10.8.81:9000/ http://10.10.8.81:9000/ http://10.10.8.81:9000/
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
source venv/bin/activate
|
||||
python3 enserver/enserver.py --id bnd128 --db-host 10.10.8.83 --db-port 32101 --db-name db128 --storage store1 --http-port 7002 --tcp-port 7003 --host 10.10.8.81 --port 7001 --auth-provider http://10.10.8.81:9000/ --pidfile /tmp/enserver1.pid --logfile enserver1.log --debug http://10.10.8.81:9000/
|
||||
python3 enserver/enserver.py --id bnd128 --db-host 10.10.8.83 --db-port 32101 --db-name db128 --storage store1 --http-port 7002 --tcp-port 7003 --host 10.10.8.70 --port 7001 --auth-provider http://10.10.8.70:9000/ --pidfile /tmp/enserver1.pid --logfile enserver1.log --debug http://10.10.8.70:9000/
|
||||
# --debug --port=7001 --pidfile=/tmp/enserver.pid --logfile=/var/log/enserver.log --id=prilvbox --address=enserv --storage=/share/store/enserver --db-host=10.10.8.83 --db-port=32101 --host=10.10.78.40 --db-user=postgres --db-passwd=Root12345678 --auth-provider=http://10.10.8.81:9000/ --replication-provider=http://10.10.8.81:9000/ http://10.10.8.81:9000/ http://10.10.8.81:9000/
|
||||
|
||||
Reference in New Issue
Block a user