我对 Azure Webjob 概念不熟悉。我正在尝试创建一个将被触发的 WebJob。
Program.cs
static void Main()
{
var config = new JobHostConfiguration();
if (config.IsDevelopment)
{
config.UseDevelopmentSettings();
}
var host = new JobHost(config);
host.Call(typeof(Functions).GetMethod("MyMethod"));
host.RunAndBlock();
}
Function.cs
[NoAutomaticTrigger]
public static void MyMethod()
{
//Logic
}
我可以看到 My WebJob 正在运行,但仅在部署开始时调用该函数。我可以通过使用函数调用日志来运行该函数。
如果我没记错的话,它应该按照我的计划调用该函数,对吧?
最佳答案
您将在启动时使用此行触发作业 host.RunAndBlock();
如果您希望它由计划触发,
只需将 settings.job
文件添加到您的 webjob 项目中,其中包含您想要的 cron 时间
例如
{
"schedule": "0 0 * * * *"
}
然后在你的program.cs中,只需使用
using (var host = new JobHost(config))
{
host.Call(typeof(Functions).GetMethod("MyMethod"));
}
部署代码,不要忘记将 settings.job
复制到输出目录,并且 cron 设置应该在门户的应用程序 Webjob View 下可见
关于c# - 计划的 WebJob 未按计划调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53187975/