それぞれ独自のコンソール アプリケーション (.exe) を実行する 2 つのスケジュールされたジョブがあります。
実行可能ファイルのコードを更新したので、それらを Azure にデプロイしたいと考えています。過去に、古いジョブを削除し、新しいジョブを最初から再発行しました。
しかし、ジョブと設定を再作成せずにコードを更新する方法はありますか?
それぞれ独自のコンソール アプリケーション (.exe) を実行する 2 つのスケジュールされたジョブがあります。
実行可能ファイルのコードを更新したので、それらを Azure にデプロイしたいと考えています。過去に、古いジョブを削除し、新しいジョブを最初から再発行しました。
しかし、ジョブと設定を再作成せずにコードを更新する方法はありますか?
createorUpdate API を使用してジョブを更新できます。サンプル コードは次のとおりです。
public async Task CreateOrUpdateJobAsync(string jobCollectionName, string jobId, DateTime startDate, string recurrence, CancellationToken cancellationToken)
{
var schedulerClient = new SchedulerClient(this.cloudServiceName, jobCollectionName, this.credentials);
var job = new JobCreateOrUpdateParameters()
{
Action = new JobAction()
{
Type = JobActionType.Https,
Request = new JobHttpRequest()
{
Body = "",
Headers = new Dictionary<string, string>()
{
{ "Content-Type", "application/x-www-form-urlencoded" },
{ "x-something", "value123" }
},
Method = "POST",
Uri = new Uri(""),
Authentication = new AADOAuthAuthentication()
{
Type = HttpAuthenticationType.ActiveDirectoryOAuth,
Tenant = "",
ClientId = "",
Audience = "",
Secret = ""
}
}
},
StartTime = startDate,
Recurrence = new JobRecurrence()
{
Frequency = JobRecurrenceFrequency.Minute,
Interval = 1
}
};
var result = await schedulerClient.Jobs.CreateOrUpdateAsync(jobId, job, cancellationToken);
}