繁体   English   中英

Azure Webjob参数

[英]Azure webjob argument

我将控制台应用程序发布为Azure WebJob。 我想每天在0.30 am运行webjob。 但仅出于测试目的,我目前每5分钟尝试一次。 哪个工作正常。 但是我也想使用一个参数,该参数传递给arg [0]到我的static void Main(string[] args)方法。

我的Web Deploy.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作业? 因此,我可以每天,每周和每月运行网络作业。 包括一个参数,以便我的逻辑知道是否要获取日,周或月数据。

由于我没有评论的资格,所以将其发布为答案。 这对我有用。

步骤1-在您的自定义控制台exe所在的%HOME%*文件夹下创建一个新的子文件夹

  • 浏览到Azure门户。
  • Service App下创建一个新的Web App
  • Service App下的Tools菜单中,启动Kudu网站
  • 在Kudu网站上,点击调试控制台 -> CMD

例如,就我而言,我在d:\\ Home下创建了一个子文件夹工具 ,并将MyConsole.exe及其附带的文件(如DLL和MyConsole.exe.config)上载到d:\\ Home \\ Tool

第2步-创建BAT文件以启动您的自定义控制台EXE

我在本地磁盘上创建了一个.BAT文件,例如Launcher.bat 该BAT文件只有1行

d:\Home\Tool\MyConsole.exe arg1  arg2

步骤3-使用BAT文件创建计划的Web作业

  • 浏览到Azure门户。
  • App Services中选择您的Web应用
  • 选择网络工作

创建计划的Web作业。 上载在上一步中创建的Launcher.BAT文件。 配置计划并创建作业。

注意事项

  1. 您将需要为每个命令行参数实例创建一个新的.BAT文件。
  2. 但是,您不需要复制二进制文件

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM