public async Task Execute()

in Facebook/WebJob/DataIngestion.cs [30:62]


        public async Task Execute(string jobMessage)
        {
            if (string.IsNullOrEmpty(Settings.AAdAppId) || string.IsNullOrEmpty(Settings.AAdAppSecret))
            {
                // Will throw exception if the connector is not configured.
                await GetConfigurationSettingFomStorge();
            }
            ConnectorTask taskInfo = JsonConvert.DeserializeObject<ConnectorTask>(jobMessage);
            IEventApiClient eventApiClient = new EventApiClient(new Auth(Settings.AAdAppId, Settings.AAdAppSecret), Settings.EventAPIBaseUrl);
            IUploader uploader = new BlobUploader(taskInfo.BlobSasUri);
            string sourceInfo = await GetSourceInfoFromTable(taskInfo);
            Trace.TraceInformation($"Fetched job info from PageJobEntity Table for JobId: {taskInfo.JobId} and TaskId: {taskInfo.TaskId}");
            Status status;
            List<ItemMetadata> itemMetadata = new List<ItemMetadata>();
            JobProcessorBase jobProcessor = new JobProcessorFB(new Downloader(), uploader);
            try
            {
                itemMetadata = await jobProcessor.FetchData(taskInfo, sourceInfo);
                status = Status.Success;
                Trace.TraceInformation($"Successfully completed Job Execution, JobId:{taskInfo.JobId}, TaskId:{taskInfo.TaskId}");
            }
            catch (HttpRequestException e)
            {
                status = Status.TemporaryFailure;
                Trace.TraceError($"Connectivity Error, JobId:{taskInfo.JobId}, TaskId:{taskInfo.TaskId}, Error: {e.Message}, ErrorStackTrace: {e.StackTrace}");
            }
            catch (Exception e)
            {
                status = Status.PermanentFailure;
                Trace.TraceError($"Unknown Failure, Requires Attention, JobId:{taskInfo.JobId}, TaskId:{taskInfo.TaskId}, Error: {e.Message}, ErrorStackTrace: {e.StackTrace}");
            }
            await eventApiClient.OnDownloadCompleteAsync(taskInfo.TenantId, taskInfo.JobId, taskInfo.TaskId, status, itemMetadata);
        }