У меня очень стандартный исполняемый файл, который я часто тестирую для интеграции. Однако время от времени он срывается при второй казни. Он делает это асинхронно c, поэтому я думаю, что может произойти одно из двух:
- Я достиг своих пределов пропускной способности
- Он не отвечает достаточно быстро, и я должен заблокировать мой вызов asyn c, пока я не получу ответ.
Я знаю, как обратиться ко второму, но прежде чем я это сделаю, мне нужно проверить, достигаю ли я своих ограничений cosmo. Как мне это сделать?
Код не очень интересный, но вот вам go. Как я уже сказал, в первых двух вызовах абсолютно ничего не меняется, но второй дает сбой, может быть, раз в 5 раз, когда я его запускаю. Это в тестовой среде:
def execute_query(self, query, return_node=False):
logging.debug(f"Inside the execute query: {query}")
callback = self._gremlin_client.submitAsync(query)
result = None
if callback.result() is not None:
result = callback.result().one()
logging.debug("\tExecuted:\n\t{0}\n".format(result))
else:
logging.debug("Something went wrong with this query: {0}".format(query))
if return_node:
return result[0]
query = "g.V().drop()"
execute_query(query) # <= Executes every time
query = "g.addV('workflow').property('id', '0.0.1').property('workflow_id', '29b6c480-8392-42c4-8fc5-f0f02bdd3636')"
execute_query(query) # <= Has no result 1 out of 5 times