fixed issue with mqtt queue overloaded

This commit is contained in:
Bogdan Pilyugin 2023-10-18 15:53:30 +02:00
parent f0fbe50a26
commit 9e05f92cbf

View File

@ -126,11 +126,12 @@ esp_err_t SysServiceMQTTSend(char *data, int len, int idx)
ComposeTopic(DSS.topic, idx, SERVICE_NAME, UPLINK_SUBTOPIC); ComposeTopic(DSS.topic, idx, SERVICE_NAME, UPLINK_SUBTOPIC);
DSS.raw_data_ptr = buf; DSS.raw_data_ptr = buf;
DSS.data_length = len; DSS.data_length = len;
if (xQueueSend(GetMQTTHandlesPool(idx)->mqtt_queue, &DSS, pdMS_TO_TICKS(1000)) == pdPASS) if (xQueueSend(GetMQTTHandlesPool(idx)->mqtt_queue, &DSS, pdMS_TO_TICKS(0)) == pdPASS)
return ESP_OK; return ESP_OK;
else else
{ {
free(buf); free(buf);
ESP_LOGW(TAG, "MQTT message queue is full on client %d", idx);
return ESP_ERR_TIMEOUT; return ESP_ERR_TIMEOUT;
} }
} }
@ -149,11 +150,12 @@ esp_err_t ExternalServiceMQTTSend(char *data, int len, int idx)
ComposeTopic(DSS.topic, idx, EXTERNAL_SERVICE_NAME, UPLINK_SUBTOPIC); ComposeTopic(DSS.topic, idx, EXTERNAL_SERVICE_NAME, UPLINK_SUBTOPIC);
DSS.raw_data_ptr = buf; DSS.raw_data_ptr = buf;
DSS.data_length = len; DSS.data_length = len;
if (xQueueSend(GetMQTTHandlesPool(idx)->mqtt_queue, &DSS, pdMS_TO_TICKS(1000)) == pdPASS) if (xQueueSend(GetMQTTHandlesPool(idx)->mqtt_queue, &DSS, pdMS_TO_TICKS(0)) == pdPASS)
return ESP_OK; return ESP_OK;
else else
{ {
free(buf); free(buf);
ESP_LOGW(TAG, "MQTT message queue is full on client %d", idx);
return ESP_ERR_TIMEOUT; return ESP_ERR_TIMEOUT;
} }
} }