TimeOut в теме с запросом из io.vertx.ext. sql .SQLClient; - PullRequest
0 голосов
/ 01 мая 2020

Ну, я новый разработчик с Vert.x ... так что у меня проблема с реализацией с подключением к базе данных.

В одном или нескольких запросах у меня много информации, например 160K записи, эти записи будут в объекте JSON throw GraphQL; итак ... когда время запроса превышает 30000 (мс) ... консоль говорит:

Thread Thread [vert.x-eventl oop -thread-1,5, main] был заблокирован на 5026 мс, ограничение по времени составляет 2000 мс большее значение для запроса, пока они не станут конечными sh или не получат все записи.

1 Ответ

2 голосов
/ 02 мая 2020

Этот вопрос фактически подробно описан в официальной документации .

, которую вы не можете вызывать блокирующими операциями непосредственно из события l oop, поскольку это помешает это от любой другой полезной работы

Это то, что вы делаете в данный момент - вызов операции блокировки.

Альтернативный способ запустить код блокировки - использовать рабочая вертикаль Рабочая вертикаль всегда выполняется с помощью потока из рабочего пула.

Запустите свой "медленный" код в рабочей вертикалке. Общайтесь между вершинами EventL oop и работниками, используя EventBus . Пока вы находитесь в одной виртуальной машине, передача даже больших коллекций через EventBus не требует дополнительных затрат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...