47 lines
1.2 KiB
Python
47 lines
1.2 KiB
Python
import requests
|
|
import time
|
|
import os
|
|
|
|
URL_ERR = 'tscprinter/errore/'
|
|
URL_EVENT = 'tscprinter/evento/'
|
|
URL_RESPONSE = 'tscprinter/risposta/'
|
|
URL_HELLO = 'tscprinter/driver_acceso/'
|
|
|
|
django_addr = ("http://{}:{}/"
|
|
.format(os.getenv('DJANGO_HOST', '127.0.0.1'),
|
|
os.getenv('DJANGO_PORT')))
|
|
|
|
|
|
def notifier(queue_out, logger):
|
|
logger.warning("Notifier started")
|
|
while True:
|
|
msg = queue_out.get(block=True)
|
|
riuscita = False
|
|
while not riuscita:
|
|
try:
|
|
requests.post(django_addr+msg['url'], json=msg['msg'])
|
|
riuscita = True
|
|
except Exception as e:
|
|
logger.debug("django irraggiungibile. aspetto 2 sec...")
|
|
time.sleep(2)
|
|
print(e)
|
|
|
|
|
|
def send_response(queue_out, ip, command, data):
|
|
resp= {
|
|
'ip': ip,
|
|
'comando': command,
|
|
'dati': data
|
|
}
|
|
msg = {
|
|
'url' : URL_RESPONSE,
|
|
'msg': resp
|
|
}
|
|
print(f"Mando Risposta: {msg}")
|
|
queue_out.put(msg)
|
|
|
|
def send_hello(queue_out):
|
|
queue_out.put({
|
|
'url': URL_HELLO,
|
|
'msg': {}
|
|
}) |