Events: connect and disconnect
This commit is contained in:
@@ -1,5 +1,4 @@
|
|||||||
# coding: utf-8
|
# coding: utf-8
|
||||||
|
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
@@ -263,6 +262,8 @@ class TCPWorker(threading.Thread):
|
|||||||
if ex.send_error:
|
if ex.send_error:
|
||||||
self.send_data({'auth_error': True})
|
self.send_data({'auth_error': True})
|
||||||
self.stop_event.set()
|
self.stop_event.set()
|
||||||
|
if self.is_incoming:
|
||||||
|
self.bnd_connected(self.connected_id)
|
||||||
|
|
||||||
while not self.stop_event.is_set():
|
while not self.stop_event.is_set():
|
||||||
try:
|
try:
|
||||||
@@ -273,6 +274,8 @@ class TCPWorker(threading.Thread):
|
|||||||
self.in_q.put(self.parcel)
|
self.in_q.put(self.parcel)
|
||||||
except Exception as exc:
|
except Exception as exc:
|
||||||
log.exception('Unexpected error: %s', exc)
|
log.exception('Unexpected error: %s', exc)
|
||||||
|
if self.is_incoming:
|
||||||
|
self.bnd_disconnected(self.connected_id)
|
||||||
self.socket.close()
|
self.socket.close()
|
||||||
log.info('%s - Bye!', self.name)
|
log.info('%s - Bye!', self.name)
|
||||||
|
|
||||||
@@ -608,3 +611,17 @@ class TCPWorker(threading.Thread):
|
|||||||
self.send_data({'notice': True,
|
self.send_data({'notice': True,
|
||||||
'parcel_id': self.parcel.id,
|
'parcel_id': self.parcel.id,
|
||||||
'parcel_state': self.parcel.state})
|
'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):
|
def queueList(self):
|
||||||
return {'success': True,
|
return {'success': True,
|
||||||
'rows': parcelqueue.manager.queue_list()}
|
'rows': list(parcelqueue.manager.queue_list())}
|
||||||
|
|
||||||
def deleteReplicationsParcels(self, replications_recipients, replications_ids):
|
def deleteReplicationsParcels(self, replications_recipients, replications_ids):
|
||||||
replications_recipients = ['tcp://%s' % recipient for recipient in replications_recipients]
|
replications_recipients = ['tcp://%s' % recipient for recipient in replications_recipients]
|
||||||
|
|||||||
2
start.sh
2
start.sh
@@ -1,3 +1,3 @@
|
|||||||
source venv/bin/activate
|
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/
|
# --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
|
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/
|
# --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