Функция таймера Azure жалуется на то, что она не возвращается - PullRequest
1 голос
/ 24 июня 2019

У меня есть небольшая функция на основе таймера Azure, и она уже довольно давно работает, сегодня я обновил некоторые пакеты и SDK до их новейших версий, а также пробовал это в VS2019, но у меня возникают некоторые проблемы.

Функция объявлена ​​следующим образом

public static async void RunAsync([TimerTrigger("0 */5 * * * *")]TimerInfo myTimer, ILogger log)

, а сообщение об ошибке в cli func.exe выглядит следующим образом

[24/6/2019 05:01:11] Function 'Items' is async but does not return a Task. Your function may not run correctly.

Я использую следующие версии nuget pkgs

Microsoft.Azure.DocumentDb.Core - 2.4.1
Microsoft.NET.Sdk.Functions - 1.0.29
Microsoft.NETCore.App - 2.2.5

Функция не запускается из-за ошибки памяти в следующей части кода, не уверена, связана ли она с этим, хотя

Я получаю сбой памяти из памяти на следующем шаге

decompressionStream.CopyTo(decompressedFileStream);

Как мне решить эту проблему?

1 Ответ

2 голосов
/ 24 июня 2019

Функция должна возвращать Задачу, иначе каркас не может отследить завершение вашей функции.Это означает, что у вас нет никаких гарантий исполнения, фреймворк может внезапно прекратить его.Просто измените async void на async. Задача:

using System.Threading.Tasks;

public static async Task RunAsync(...)

Проблема с памятью не связана.

...