Преобразование функции Azure в бессерверную функцию

#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 не является специфичной для конкретной машины, и ее экземпляры могут находиться на разных машинах.