Scheduled WebJob 未按计划调用函数
Scheduled WebJob doesn't invoke function as scheduled
我是 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 正在 运行ning,但仅在部署的最开始调用该函数。我可以通过使用函数调用日志 运行 该函数。
如果我没记错的话它应该会按我计划的那样调用函数吧?
If I'm not mistaken it should invoke the function as I scheduled right?
什么时间表?您没有配置任何时间表。您唯一要做的就是调用 MyMethod
一次(通过使用反射获取方法!),然后在 host
.
上调用 RunAndBlock
查看 运行 Azure 应用服务中 WebJobs 的后台任务 > Create a scheduled WebJob
你可以看看Azure Functions。这也可能有所帮助。
您正在使用此行 host.RunAndBlock();
在启动时触发作业
如果你想让它按计划触发,
只需将 settings.job
文件添加到包含您想要的 cron 时间的 webjob 项目
例如
{
"schedule": "0 0 * * * *"
}
那么在你program.cs,就用
using (var host = new JobHost(config))
{
host.Call(typeof(Functions).GetMethod("MyMethod"));
}
部署代码,不要忘记将 settings.job
复制到您的输出目录,并且 cron 设置应该在您的应用程序 webjob 视图下从门户可见
我是 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 正在 运行ning,但仅在部署的最开始调用该函数。我可以通过使用函数调用日志 运行 该函数。
如果我没记错的话它应该会按我计划的那样调用函数吧?
If I'm not mistaken it should invoke the function as I scheduled right?
什么时间表?您没有配置任何时间表。您唯一要做的就是调用 MyMethod
一次(通过使用反射获取方法!),然后在 host
.
RunAndBlock
查看 运行 Azure 应用服务中 WebJobs 的后台任务 > Create a scheduled WebJob
你可以看看Azure Functions。这也可能有所帮助。
您正在使用此行 host.RunAndBlock();
如果你想让它按计划触发,
只需将 settings.job
文件添加到包含您想要的 cron 时间的 webjob 项目
例如
{
"schedule": "0 0 * * * *"
}
那么在你program.cs,就用
using (var host = new JobHost(config))
{
host.Call(typeof(Functions).GetMethod("MyMethod"));
}
部署代码,不要忘记将 settings.job
复制到您的输出目录,并且 cron 设置应该在您的应用程序 webjob 视图下从门户可见