1
0
mirror of https://github.com/thingsboard/thingsboard-gateway synced 2025-10-26 22:31:42 +08:00

Fixed RPC for Request Connector

This commit is contained in:
samson0v
2022-11-21 12:32:47 +02:00
parent 46bf22e26f
commit 85caed47cf
2 changed files with 12 additions and 4 deletions

View File

@@ -115,8 +115,8 @@ class RequestConnector(Connector, Thread):
response_queue = Queue(1)
request_dict = {"config": {**rpc_request,
**converted_data},
"request": request}
request_dict["config"].get("uplink_converter")
"request": request,
"withResponse": True}
rpc_request_thread = Thread(target=self.__send_request,
args=(request_dict, response_queue, log),
daemon=True,
@@ -127,7 +127,10 @@ class RequestConnector(Connector, Thread):
response = response_queue.get_nowait()
log.debug(response)
self.__gateway.send_rpc_reply(device=content["device"], req_id=content["data"]["id"],
content=response[2])
content=response.text)
del response_queue
return
self.__gateway.send_rpc_reply(device=content["device"], req_id=content["data"]["id"],
success_sent=True)
@@ -201,6 +204,11 @@ class RequestConnector(Connector, Thread):
params["headers"] = request["config"]["httpHeaders"]
logger.debug("Request to %s will be sent", url)
response = request["request"](**params)
if request.get('withResponse'):
converter_queue.put(response)
return
if response and response.ok:
if not converter_queue.full():
data_to_storage = [url, request["converter"]]

View File

@@ -1027,7 +1027,7 @@ class TBGatewayService:
log.info("Outgoing RPC. Device: %s, ID: %d", device, req_id)
self.send_rpc_reply(device, req_id, content)
@StatisticsService.CollectRPCReplyStatistics(start_stat_type='all_bytes_sent')
@StatisticsService.CollectRPCReplyStatistics(start_stat_type='allBytesSentToTB')
def send_rpc_reply(self, device=None, req_id=None, content=None, success_sent=None, wait_for_publish=None,
quality_of_service=0):
self.__rpc_processing_queue.put((device, req_id, content, success_sent, wait_for_publish, quality_of_service))