#azure-functions #serverless #azure-durable-functions
Вопрос:
У меня есть приложение функции Azure со следующим кодом:
public class JTFunction
{
[FunctionName("JT")]
public async Task Run([TimerTrigger("%jtSchedule%")]TimerInfo myTimer, ILogger log)
{
await ProcessJobsAsync();
}
}
public async Task ProcessJobsAsync()
{
var jobs = GetJobsAsync(SyncStatus.Idle);
var runningJobs = new List<SyncJob>();
var failedJobs = new List<SyncJob>();
var startedTasks = new List<Task>();
await foreach (var job in jobs)
{
var groupName = await GetGroupNameAsync(job.TargetOfficeGroupId);
if (job.LastRunTime == DateTime.FromFileTimeUtc(0))
{
await SendMailAsync(message);
}
job.RunId = _graphGroupRepository.RunId = Guid.NewGuid();
_loggingRepository.SyncJobProperties = job.ToDictionary();
if (await CanWriteToGroup(job))
{
startedTasks.Add(_serviceBusTopicsRepository.AddMessageAsync(job));
runningJobs.Add(job);
}
else
{
job.Enabled = false;
failedJobs.Add(job);
}
_loggingRepository.SyncJobProperties = null;
}
startedTasks.Add(UpdateSyncJobStatusAsync(runningJobs, SyncStatus.InProgress));
startedTasks.Add(UpdateSyncJobStatusAsync(failedJobs, SyncStatus.Error));
await Task.WhenAll(startedTasks);
foreach (var failedJob in failedJobs)
{
await SendMailAsync(message);
}
}
Как мне преобразовать это в бессерверную функцию?
Комментарии:
1. Функции Azure-это функции без сервера. Пожалуйста, объясните, что вы пытаетесь сделать более четко.
Ответ №1:
Как сказал Том У в комментарии, функция azure — это классическая бессерверная служба.
Взгляните на это.
Функция Azure не является специфичной для конкретной машины, и ее экземпляры могут находиться на разных машинах.