[後端] 修改排程 清除30天的weather data, 記錄log fetch niagara value
This commit is contained in:
parent
1fda7fd24b
commit
552ed2bf34
@ -98,6 +98,21 @@ namespace BackendWorkerService.Quartz.Jobs
|
|||||||
encoded = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(obixApiConfig.UserName + ":" + obixApiConfig.Password));
|
encoded = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(obixApiConfig.UserName + ":" + obixApiConfig.Password));
|
||||||
#endregion 取得obix 設定
|
#endregion 取得obix 設定
|
||||||
//取得氣象預報
|
//取得氣象預報
|
||||||
|
if (await task_Detail.GetNeedWorkTask("WeatherAPI", "ClearWeatherData"))
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
await task_Detail.InsertWorkTime("WeatherAPI", "ClearWeatherData", null, new DateTime(DateTime.Now.AddDays(1).Year, DateTime.Now.AddDays(1).Month, DateTime.Now.AddDays(1).Day, 0, 0, 0));
|
||||||
|
await ClearWeatherDataBef30();
|
||||||
|
await task_Detail.InsertWorkTime_End("WeatherAPI", "ClearWeatherData");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
await task_Detail.WorkFail("WeatherAPI", "ClearWeatherData", ex.Message.ToString());
|
||||||
|
logger.LogError($"ClearWeatherData error: {ex}, {ex.InnerException}, {ex.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (await task_Detail.GetNeedWorkTask("WeatherAPI", "api_weateher"))
|
if (await task_Detail.GetNeedWorkTask("WeatherAPI", "api_weateher"))
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@ -195,7 +210,7 @@ namespace BackendWorkerService.Quartz.Jobs
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
await task_Detail.InsertWorkTime("WeatherAPI", "api_rain");
|
await task_Detail.InsertWorkTime("WeatherAPI", "api_rain", null, new DateTime(DateTime.Now.AddDays(1).Year, DateTime.Now.AddDays(1).Month, DateTime.Now.AddDays(1).Day, 0, 25, 0));
|
||||||
WebClient mywebClient = new WebClient();
|
WebClient mywebClient = new WebClient();
|
||||||
mywebClient.DownloadFile("https://opendata.cwb.gov.tw/fileapi/v1/opendataapi/W-C0033-003?Authorization=CWB-EA24220B-DDCC-4188-84E5-AD37A0E03F80&downloadType=WEB&format=CAP", @"root/PowerfulRain.xml");
|
mywebClient.DownloadFile("https://opendata.cwb.gov.tw/fileapi/v1/opendataapi/W-C0033-003?Authorization=CWB-EA24220B-DDCC-4188-84E5-AD37A0E03F80&downloadType=WEB&format=CAP", @"root/PowerfulRain.xml");
|
||||||
XmlDocument doc = new XmlDocument();
|
XmlDocument doc = new XmlDocument();
|
||||||
@ -227,6 +242,7 @@ namespace BackendWorkerService.Quartz.Jobs
|
|||||||
{
|
{
|
||||||
var ReStr = Fetch_PostWithJSONFormat($@"{obixApiConfig.ApiBase}obix/config/Arena/D2/CWB/L110/CAP/D2_CWB_L110_CAP_MET1/SeverityLEVL_RAIN/set", val.ToString());
|
var ReStr = Fetch_PostWithJSONFormat($@"{obixApiConfig.ApiBase}obix/config/Arena/D2/CWB/L110/CAP/D2_CWB_L110_CAP_MET1/SeverityLEVL_RAIN/set", val.ToString());
|
||||||
UpdatedNiagara("api_rain", ReStr, id);
|
UpdatedNiagara("api_rain", ReStr, id);
|
||||||
|
logger.LogInformation($"set niagara rain value success");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -259,6 +275,7 @@ namespace BackendWorkerService.Quartz.Jobs
|
|||||||
{
|
{
|
||||||
var ReStr = Fetch_PostWithJSONFormat($@"{obixApiConfig.ApiBase}obix/config/Arena/D2/CWB/L110/CAP/D2_CWB_L110_CAP_MET1/SeverityLEVL_RAIN/set", val.ToString());
|
var ReStr = Fetch_PostWithJSONFormat($@"{obixApiConfig.ApiBase}obix/config/Arena/D2/CWB/L110/CAP/D2_CWB_L110_CAP_MET1/SeverityLEVL_RAIN/set", val.ToString());
|
||||||
UpdatedNiagara("api_rain", ReStr, id);
|
UpdatedNiagara("api_rain", ReStr, id);
|
||||||
|
logger.LogInformation($"set niagara rain value success");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -314,6 +331,7 @@ namespace BackendWorkerService.Quartz.Jobs
|
|||||||
|
|
||||||
var ReStr = Fetch_PostWithJSONFormat($@"{obixApiConfig.ApiBase}obix/config/Arena/D2/CWB/L110/CAP/D2_CWB_L110_CAP_MET2/SeverityLEVL_Typhoon/set", observation.Alert.Info.Urgency);
|
var ReStr = Fetch_PostWithJSONFormat($@"{obixApiConfig.ApiBase}obix/config/Arena/D2/CWB/L110/CAP/D2_CWB_L110_CAP_MET2/SeverityLEVL_Typhoon/set", observation.Alert.Info.Urgency);
|
||||||
UpdatedNiagara("api_typhoon", ReStr, id);
|
UpdatedNiagara("api_typhoon", ReStr, id);
|
||||||
|
logger.LogInformation($"set niagara typhoon value success");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
FolderFunction folderFunction = new FolderFunction();
|
FolderFunction folderFunction = new FolderFunction();
|
||||||
@ -346,6 +364,7 @@ namespace BackendWorkerService.Quartz.Jobs
|
|||||||
|
|
||||||
var ReStr = Fetch_PostWithJSONFormat($@"{obixApiConfig.ApiBase}obix/config/Arena/D2/CWB/L110/CAP/D2_CWB_L110_CAP_MET2/SeverityLEVL_Typhoon/set", observation.Alert.Info.Urgency);
|
var ReStr = Fetch_PostWithJSONFormat($@"{obixApiConfig.ApiBase}obix/config/Arena/D2/CWB/L110/CAP/D2_CWB_L110_CAP_MET2/SeverityLEVL_Typhoon/set", observation.Alert.Info.Urgency);
|
||||||
UpdatedNiagara("api_typhoon", ReStr, id);
|
UpdatedNiagara("api_typhoon", ReStr, id);
|
||||||
|
logger.LogInformation($"set niagara typhoon value success");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
FolderFunction folderFunction = new FolderFunction();
|
FolderFunction folderFunction = new FolderFunction();
|
||||||
@ -365,7 +384,7 @@ namespace BackendWorkerService.Quartz.Jobs
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
await task_Detail.InsertWorkTime("WeatherAPI", "api_earthquake", null, new DateTime(DateTime.Now.AddDays(1).Year, DateTime.Now.AddDays(1).Month, DateTime.Now.AddDays(1).Day, 0, 25, 0));
|
await task_Detail.InsertWorkTime("WeatherAPI", "api_earthquake");
|
||||||
var client = new HttpClient();
|
var client = new HttpClient();
|
||||||
var UVUri = "https://opendata.cwb.gov.tw/api/v1/rest/datastore/E-A0015-001?Authorization=CWB-EA24220B-DDCC-4188-84E5-AD37A0E03F80&format=JSON&areaName=%E8%87%BA%E5%8C%97%E5%B8%82";
|
var UVUri = "https://opendata.cwb.gov.tw/api/v1/rest/datastore/E-A0015-001?Authorization=CWB-EA24220B-DDCC-4188-84E5-AD37A0E03F80&format=JSON&areaName=%E8%87%BA%E5%8C%97%E5%B8%82";
|
||||||
HttpResponseMessage response = client.GetAsync(UVUri).Result;
|
HttpResponseMessage response = client.GetAsync(UVUri).Result;
|
||||||
@ -421,10 +440,12 @@ namespace BackendWorkerService.Quartz.Jobs
|
|||||||
if (Nag.Contains("err"))
|
if (Nag.Contains("err"))
|
||||||
{
|
{
|
||||||
EarthquakeAPIdb.Add("@niagara", Nag);
|
EarthquakeAPIdb.Add("@niagara", Nag);
|
||||||
|
logger.LogInformation($"set niagara earthquake value fail: {Nag}");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
EarthquakeAPIdb.Add("@niagara", "success");
|
EarthquakeAPIdb.Add("@niagara", "success");
|
||||||
|
logger.LogInformation($"set niagara earthquake value success");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -448,10 +469,12 @@ namespace BackendWorkerService.Quartz.Jobs
|
|||||||
if (Nag.Contains("err"))
|
if (Nag.Contains("err"))
|
||||||
{
|
{
|
||||||
EarthquakeAPIdb.Add("@niagara", Nag);
|
EarthquakeAPIdb.Add("@niagara", Nag);
|
||||||
|
logger.LogInformation($"set niagara earthquake value fail: {Nag}");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
EarthquakeAPIdb.Add("@niagara", "success");
|
EarthquakeAPIdb.Add("@niagara", "success");
|
||||||
|
logger.LogInformation($"set niagara earthquake value success");
|
||||||
}
|
}
|
||||||
EarthquakeAPIdbS.Add(EarthquakeAPIdb);
|
EarthquakeAPIdbS.Add(EarthquakeAPIdb);
|
||||||
}
|
}
|
||||||
@ -496,9 +519,11 @@ namespace BackendWorkerService.Quartz.Jobs
|
|||||||
var WxT = Fetch_PostWithJSONFormat($@"{obixApiConfig.ApiBase}obix/config/Arena/D2/CWB/L110/OPD/D2_CWB_L110_OPD_element/Wx/set", Wx.get_value);
|
var WxT = Fetch_PostWithJSONFormat($@"{obixApiConfig.ApiBase}obix/config/Arena/D2/CWB/L110/OPD/D2_CWB_L110_OPD_element/Wx/set", Wx.get_value);
|
||||||
UpdatedNiagara("api_weateher", WxT, Wx.id);
|
UpdatedNiagara("api_weateher", WxT, Wx.id);
|
||||||
await task_Detail.InsertWorkTime_End("WeatherAPI", "set_weather");
|
await task_Detail.InsertWorkTime_End("WeatherAPI", "set_weather");
|
||||||
|
logger.LogInformation($"set niagara weather value success");
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
logger.LogInformation($"set niagara weather value fail");
|
||||||
await task_Detail.WorkFail("WeatherAPI", "set_weather", ex.Message.ToString());
|
await task_Detail.WorkFail("WeatherAPI", "set_weather", ex.Message.ToString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -562,5 +587,19 @@ namespace BackendWorkerService.Quartz.Jobs
|
|||||||
throw ex;
|
throw ex;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task ClearWeatherDataBef30()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string sql = $"delete from api_weateher WHERE created_at < DATE_SUB(NOW(), INTERVAL 1 MONTH)";
|
||||||
|
await backgroundServiceRepository.ExecuteSql(sql);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
logger.LogError("[ClearWether] clear wether data error");
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user