cron - Azure Functions with NCrontab 返回方法未找到消息
问题描述
我们正在尝试使用 NCrontab 包来创建一个新的 Microsoft.Azure.WebJobs.Extensions.Timers.CronSchedule 对象实例。使用以下代码:
[FunctionName("FunctionTest")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
// using NCrontab;
var nCrontabSchedule = CrontabSchedule.Parse("5 4 * * *");
//using Microsoft.Azure.WebJobs.Extensions.Timers;
CronSchedule cronSchedule = new CronSchedule(nCrontabSchedule);
return new OkObjectResult("Hey There");
}
所有的包都被识别了,我们没有任何构建错误。但是,当我们尝试通过 HTTP 端点执行此函数时,会返回以下错误:
System.Private.CoreLib: Exception while executing function: Function1. FunctionApp1: Method not found: 'Void Microsoft.Azure.WebJobs.Extensions.Timers.CronSchedule..ctor(NCrontab.CrontabSchedule)'
我们看到函数模拟器应用程序使用了两个不同的 DLL,涉及 NCronTab 依赖关系,因此我们认为这与此错误有关。
这是我们正在使用的单个 NuGet 包:
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.7" />
有没有人见过同样的错误?
谢谢,雷纳托。
解决方案
我们可以改用Cronos吗?
[FunctionName("Function1")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");
CronExpression nCrontabSchedule = CronExpression.Parse("5 4 * * *");
DateTime? next = nCrontabSchedule.GetNextOccurrence(DateTime.UtcNow);
您可能会针对不同的操作对此进行研究,例如获取范围内的事件(例如一年)或使用当地时间。能满足要求吗?
推荐阅读
- python - 为什么在我的代码中不需要将变量设置为空字符串?
- javascript - 我是否正确地将我的 Jquery 事件侦听器转换为 Javascript?我不明白 Javascript 是如何在不定位 id 的情况下工作的?
- java - 如何消除 Android Studio 中 NoActionBar 和 ImageView 之间的差距
- paypal - Paypal:xclick-auto-billing 是如何工作的?
- javascript - 不知道如何为我的随机报价生成器设置动画
- python - 如何获取“安全”字典的内容?
- flutter - 构建动态数据表
- python - 为什么字符串替换函数不尊重单词边界 \b 正则表达式?
- visual-studio-code - 用 JSON 编辑 VSCode 的设置?
- reactjs - 渲染值的反应验证问题