Диалог потока создания контекста задержки - PullRequest
0 голосов
/ 25 декабря 2018

Когда я пытаюсь создать контекст в Dialogflow, используя клиентскую библиотеку в приложении ASP.NET Core, размещенном на Google Compute Engine, я получаю задержки около 5 секунд.Это касается только первых нескольких запросов.После нескольких запросов задержка значительно опускается до секунды.Мой код:

public class Clients
{
    public static ContextsClient contextsClient = ContextsClient.Create();
    ...
}

...

//From here
SessionName sessionName = new SessionName(projectId, sessionId);
Context exampleContext = new Context();
exampleCoontext.LifespanCount = 1;
exampleContext.Name = sessionName + "/contexts/examplecontext";
Context response = Clients.contextsClient.CreateContext(sessionName, exampleContext);
//To here, is where I experience the delay

Сначала я думал, что это задержка в результате фактического создания contextsClient, однако клиент уже должен быть создан в классе Clients.Даже если я сплю поток в течение нескольких секунд перед созданием контекста (по существу, позволяя создать contextsClient), я получаю задержку для первых нескольких запросов?

Что может быть причиной этого?Или я ошибаюсь, думая, что contextsClient создается в классе Clients?

1 Ответ

0 голосов
/ 29 декабря 2018

Как сказал Джон, кажется, что задержка в RPC просто равна тому, сколько времени на самом деле она занимает.Мое приложение работает на Windows Server 2016, и то, что я сделал, по сути, создает сценарий powershell, который отправляет HTTP-запрос к моему приложению каждые 45 минут в качестве запланированной задачи Windows.Этот http-запрос запускает мое приложение, чтобы буквально сделать запрос на создание контекста, и эффективно, обновляя клиента, делая это каждый интервал, и, следовательно, мои пользователи не испытывают задержки.

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