Azure计时器功能抱怨未返回任务

时间:2019-06-24 05:09:16

标签: c# azure-functions

我有一个基于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 个答案:

答案 0 :(得分:2)

一个函数必须返回一个Task,否则框架将无法跟踪您函数的完成情况。这意味着您无法保证执行,框架可能会突然终止它。只需将异步void更改为异步任务:

using System.Threading.Tasks;

public static async Task RunAsync(...)

与内存问题无关。