私はWebJobタイプのアプリケーションを初めて行ったのです。私はwebjobプロジェクトを作成しました。このソリューションにはProgram.cs
とFunction.cs
が付属しています。Azure WebJobのベスト・アプローチ
私はすでにFunction.cs
を削除していますが、このプロジェクトではキューが存在しないため、データを取得することになります。
は今Program.cs
の主な方法は以下の通りすでにある:
class Program
{
// Please set the following connection strings in app.config for this WebJob to run:
// AzureWebJobsDashboard and AzureWebJobsStorage
static void Main()
{
var host = new JobHost();
// The following code ensures that the WebJob will be running continuously
host.RunAndBlock();
}
}
私は理解しているように、RunAndBlock
が連続webjobを実行することですが、私は仕事を一度だけ実行したいということ。私は外部からスケジュールで実行を制御したい。コードを一度だけ実行する方法を知りたいですか? 以下に示すように、私はを持つSupportService
クラスを持っています。私はこのメソッドを1回だけ呼びたいと思います。 これは正しいアプローチですか?
static void Main()
{
SupportService _supportService = new SupportService();
_supportService.Initialize();
_supportService.SetPoolProvisioningConfigurations();
_supportService.RunOnePoolProvisioningCycle();
}
またはこれ?
static void Main()
{
var host = new JobHost();
SupportService _supportService = new SupportService();
_supportService.Initialize();
_supportService.SetPoolProvisioningConfigurations();
host.Call(typeof(SupportService).GetMethod("SetPoolProvisioningConfigurations"));
}
またはこれ?
static void Main()
{
var host = new JobHost();
SupportService _supportService = new SupportService();
_supportService.Initialize();
_supportService.SetPoolProvisioningConfigurations();
host.CallAsync(typeof(SupportService).GetMethod("SetPoolProvisioningConfigurations"));
}
か、私が使用する必要があります。
host.Start()
または
host.StartAsync()?
私の質問はアプローチに関するものなので、ここの答えはすべて正しいと思います。しかし、私は1つを選択する必要があります。 この記事を見ている人のためのこのメモ。 –