Azure Webjobs控制面板?

问题描述 投票:0回答:3

我想知道对于Azure Webjobs的“控制面板”功能是否有任何解决方案?我们有一个webapp,其中包含一些不同的webjob。例如,我们每天都有一种“数据库清理”方法,并且可以发出计费通知。我们还提供了每5分钟从各种第三方系统提取数据的方法。总而言之,到处都是十几种不同的小工作。大多数使用CRON计时器触发器触发。

我希望拥有某种“仪表板/控制面板”,在这里我可以快速查看所有Web作业中的所有功能(尽管我可以轻松地将所有功能移至1个WebJob)。它会显示上次运行时间,上次运行状态,下一次运行时间,并具有从运行中“暂停”功能(以及恢复)的功能。我知道我可以通过从字面上停止Azure中的整个WebJob来完成所有这些工作,但是最终它会停止我可能不想使用的其他功能。我也不希望每个功能都有20个webjob。有没有开发出解决方案?是否有一个可以与Azure Functions一起使用的仪表板?

谢谢!

azure asp.net-core azure-functions azure-webjobs
3个回答
0
投票

是,Azure具有用于Webjobs的控制面板。

打开URL https://YOUR_APP_NAME.scm.azurewebsites.net/->工具-> Web作业仪表板

或打开您的应用->在菜单中搜索高级工具Advanced tools


0
投票

作为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对象,您可以遍历并获取详细信息。


0
投票

首先,您不必在一个Function.cs文件中拥有所有功能,您可以有多个Web作业,而在一个Webjob中可以有多个功能文件(Functions.cs,Function1.cs等)。

enter image description here

现在,如果您在一个Web作业中有很多功能,则只能管理一个完整的Web作业。如果您的网络作业是连续的,则可以在门户中将其停止,或者终止kudu中的进程。然后,您的Web作业将处于停止或等待重启的状态。

enter image description here

如果仍然要在一个Web作业中管理每个功能,则假定您必须尝试Azure功能。

© www.soinside.com 2019 - 2024. All rights reserved.