簡體   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