2017-06-23 64 views
1

我有一個Azure WebJob,我從Visual Studio 2017發佈到標準S1應用服務,WebJob應該由CRON觸發但始終發佈爲連續,我無法弄清楚我是什麼做錯了(另外兩個WebJobs公佈罰款)Webjob總是發佈爲連續的,而不是觸發

我有應用服務設置爲「始終在線」的應用程序設置 enter image description here

我在根settings.job文件,我的日程表

{ 
    "schedule": "0 3 5 * * 1-5" 
} 

enter image description here

我的計劃類

namespace EventPushUpdater 
{ 
    using Microsoft.Azure.WebJobs; 
    using MBL.AzureKeyVaultHelpers; 

    internal class Program 
    { 
     private static void Main() 
     { 
      Properties.Settings s = Properties.Settings.Default; 

      IKeyVault kv = new KeyVaultHelper(s.ClientId, s.ClientKey, s.KeyVaultRoot); 

      var config = new JobHostConfiguration(); 
      config.DashboardConnectionString = kv.GetSecretValue(s.DashboardConnectionString); 
      config.StorageConnectionString = kv.GetSecretValue(s.DashboardConnectionString);    
      var host = new JobHost(config); 

      host.Call(typeof(Functions).GetMethod("PushEvents"), new { keyVault = kv }); 
     } 
    } 

} 

而被調用的函數

public class Functions 
{ 
    [NoAutomaticTrigger] 
    public static void PushEvents(IKeyVault keyVault) 
    { 
     // do stuff 
    } 
} 

回答

3

你選擇了「發佈爲WebJob」第一次,它會詢問你是否要連續或按需(其中包括預定):

WebJob publish

如果您選擇了錯誤的選項,只需在屬性下刪除webjob-publish-settings.json,然後重試。

順便說一句,您的代碼過於複雜,因爲您不必要地使用WebJobs SDK。相反,您的代碼可以簡單地爲:

static void Main() 
    { 
     // Do Stuff 
    }