public void DipAlmiLogPremonitorTest([EventHubTrigger("ms-010", Connection = "ConnectionString")] string message, ILogger log) { log.EnterJson("{0}", message); try { var result = _service.ReadAlarmJudgementTarget(); _service.CreateAndEnqueueAlarmInfo(result.Entity); _service.UpdateAlarmJudgedAnalysisResult(result.Entity); } catch (Exception ex) { // [TODO]:Blobへクライアントメッセージを保存する処理を追加する(ControllerではなくServiceで実行する?) log.Error(ex, "想定外のエラー"); } finally { log.LeaveJson("{0}", message); } }
public void MonitorAlmilogAnalysisResultTable([TimerTrigger("0 0 16 * * *")] TimerInfo timerInfo, ILogger log) { log.EnterJson("{0}", timerInfo); try { // アプリケーション設定でSystem名・SubSystem名が設定されていない場合、実行時にエラーとする if (string.IsNullOrEmpty(_settings.SystemName)) { throw new RmsInvalidAppSettingException($"{nameof(_settings.SystemName)} is required."); } if (string.IsNullOrEmpty(_settings.SubSystemName)) { throw new RmsInvalidAppSettingException($"{nameof(_settings.SubSystemName)} is required."); } // Sq1.1: アルミスロープログ解析結果を取得する if (_service.ReadAlarmJudgementTarget(out List <DtAlmilogAnalysisResult> unjudgedItems, out List <List <DtAlmilogAnalysisResult> > alarmItemsList)) { // Sq1.2: アルミスロープログ予兆監視アラーム定義を取得する _service.ReadAlarmDefinition(alarmItemsList, out List <List <Tuple <DtAlmilogAnalysisResult, DtAlmilogPremonitor> > > models); // Sq1.3: アラーム生成の要否を判断する bool needsAlarm = models != null && models.Count > 0; if (!needsAlarm) { // アラーム生成不要 IEnumerable <long?> sidArray = alarmItemsList == null ? new long?[] { } : alarmItemsList.Select(x => x.FirstOrDefault()?.Sid); log.Info(nameof(Resources.UT_DAP_DAP_004), new object[] { string.Join(",", sidArray) }); return; } // Sq1.4: アラームキューを生成する // Sq1.5: キューを登録する if (_service.CreateAndEnqueueAlarmInfo(models)) { // アラームキュー登録完了 IEnumerable <long?> sidArray = models.Select(x => x.FirstOrDefault()?.Item1?.Sid); log.Info(nameof(Resources.UT_DAP_DAP_007), new object[] { string.Join(",", sidArray) }); } // Sq1.6: 判断の実施済みフラグを更新する if (_service.UpdateAlarmJudgedAnalysisResult(unjudgedItems)) { // 判定済みフラグの更新完了 IEnumerable <long> sidArray = unjudgedItems.Select(x => x.Sid); log.Info(nameof(Resources.UT_DAP_DAP_009), new object[] { string.Join(",", sidArray) }); } } } catch (RmsInvalidAppSettingException e) { log.Error(e, nameof(Resources.UT_DAP_DAP_010), new object[] { e.Message }); } catch (Exception e) { log.Error(e, nameof(Resources.UT_DAP_DAP_001)); } finally { log.LeaveJson("{0}", timerInfo); } }