【发布时间】:2017-07-06 14:13:29
【问题描述】:
我将控制台应用程序发布为 Azure WebJob。我想每天早上 0.30 运行 webjob。但只是为了测试,我目前每 5 分钟尝试一次。哪个工作正常。但我也想使用一个参数,将 arg[0] 传递给我的 static void Main(string[] args) 方法。
我的网络部署.pubxml
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
by editing this MSBuild file. In order to learn more about this please visit https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<ADUsesOwinOrOpenIdConnect>False</ADUsesOwinOrOpenIdConnect>
<PublishProvider>AzureWebSite</PublishProvider>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish>http://testProjectHello.azurewebsites.net</SiteUrlToLaunchAfterPublish>
<LaunchSiteAfterPublish>False</LaunchSiteAfterPublish>
<MSDeployServiceURL>testProjectHello.scm.azurewebsites.net:443</MSDeployServiceURL>
<DeployIisAppPath>testProjectHello</DeployIisAppPath>
<SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
<UserName>$testProjectHello</UserName>
<_SavePWD>True</_SavePWD>
<_DestinationType>AzureWebSite</_DestinationType>
</PropertyGroup>
</Project>
webjob-publish-settings.json:
{
"$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json",
"webJobName": "webjobNameTest",
"runMode": "OnDemand"
}
我的 settings.job 文件:
{
"schedule": "0 */5 * * * *"
}
在 azure 门户中,我看到以下内容:
姓名类型状态时间表
webJobNameTest 触发就绪 0 */5 * * * *
如何在我的网络作业中传递参数?是否也可以从一个控制台应用程序部署多个具有不同参数的 Azure Web 作业?所以我可以每天、每周和每月运行网络作业。包括一个参数,以便我的逻辑知道是获取日、周还是月数据。
【问题讨论】:
-
你看过这个问题吗? stackoverflow.com/questions/35362847/…
-
这样,看起来我必须创建一个控制台应用程序并为每个变量部署它。我还看到可以通过 WEBJOBS_NAME 环境变量获取网络作业名称。这样我就不需要创建一个新的控制台应用程序,但我将不得不改变逻辑。我希望有一种方法,只需单击一下即可部署具有 3 个不同参数的 3 个 Web 作业。
-
是的,我明白你在说什么。也许试试这个建议? stackoverflow.com/questions/25735831/…
标签: c# azure cron command-line-arguments azure-webjobs