Как установить время ожидания выполнения в Hotchocolate 10.4.3

мы используем Hotchocolate 10.4.3 для моей основной службы .net. мы используем подход сначала код. Все настройки находятся в файле startup.cs точно так же, как и в их примере из «Звездных войн». На веб-сайте Hotchocolate указано, что тайм-аут по умолчанию для запроса составляет 30 секунд, но я обнаружил, что мое приложение выдает ошибку транзакции через 1 минуту. Я хочу увеличить это до 2 мин.

Также почему сервер все еще выполняет все даже после исключения тайм-аута. Я всегда вижу ошибку транзакции в конце после того, как весь мой код выполняется правильно.

Если все будет работать правильно, зачем даже тогда выдавать ошибку?

Я все еще изучаю graphql. Пожалуйста, поправьте меня, если что-то звучит неправильно.


person PRASAD MAHIT    schedule 25.07.2020    source источник


Ответы (1)


В HotChocolate v10 вы можете установить тайм-аут выполнения при добавлении службы в методе Startup ConfigureServices ():

services.AddGraphQL(
    SchemaBuilder.New()
        .AddQueryType<Query>()
        .Create(),
    new QueryExecutionOptions { ExecutionTimeout = TimeSpan.FromMinutes(2) });

Здесь есть хороший репо примеров: https://github.com/ChilliCream/hotchocolate-examples

Документация по вариантам исполнения: https://chillicream.com/docs/hotchocolate/v10/execution-engine/execution-options

РЕДАКТИРОВАТЬ: в v11 изменился синтаксис:

services
    .AddGraphQLServer()
    .AddQueryType<Query>()
    .SetRequestOptions(_ => new HotChocolate.Execution.Options.RequestExecutorOptions { ExecutionTimeout = TimeSpan.FromMinutes(10) });
person ngprice    schedule 17.11.2020