我想知道对于Azure Webjobs的“控制面板”功能是否有任何解决方案?我们有一个webapp,其中包含一些不同的webjob。例如,我们每天都有一种“数据库清理”方法,并且可以发出计费通知。我们还提供了每5分钟从各种第三方系统提取数据的方法。总而言之,到处都是十几种不同的小工作。大多数使用CRON计时器触发器触发。
我希望拥有某种“仪表板/控制面板”,在这里我可以快速查看所有Web作业中的所有功能(尽管我可以轻松地将所有功能移至1个WebJob)。它会显示上次运行时间,上次运行状态,下一次运行时间,并具有从运行中“暂停”功能(以及恢复)的功能。我知道我可以通过从字面上停止Azure中的整个WebJob来完成所有这些工作,但是最终它会停止我可能不想使用的其他功能。我也不希望每个功能都有20个webjob。有没有开发出解决方案?是否有一个可以与Azure Functions一起使用的仪表板?
谢谢!
是,Azure具有用于Webjobs的控制面板。
打开URL https://YOUR_APP_NAME.scm.azurewebsites.net/->工具-> Web作业仪表板
作为Kudu项目的一部分-Kudu是git / hg部署,WebJobs和Azure网站中各种其他功能的引擎,提供了一个Web作业API。您可以从这里获得更多详细信息-WebJobs API Wiki。
您可以使用-GET /api/webjobs
方法获取所有Web作业的详细信息,响应中包含Webjob的状态。我正在使用PowerShell监视我的Web作业。这是一些伪代码,可帮助您入门。
$authHeader = "Basic 3946239864237492789f9df987d7f7s97f987s8d977sd978979f8s77f9797w9e7987e="
$fullAuthHeader = @{
Authorization = $authHeader
}
$response = Invoke-WebRequest -Uri https://yoursite.scm.azurewebsites.net/api/triggeredwebjobs/$schedulerEntry -Headers $fullAuthHeader -Method GET -UseBasicParsing
$output = $response.Content | ConvertFrom-Json
$output
是一个Json对象,您可以遍历并获取详细信息。