From 89cb05f837c76b001208770cb62c7ad840449c0a Mon Sep 17 00:00:00 2001
From: wangrong <wangrong@shsening.com>
Date: 星期四, 08 十二月 2022 15:31:41 +0800
Subject: [PATCH] 修改编译发布方式
---
server/models/taskSchedule.js | 66 +++++++++++++-------------------
1 files changed, 27 insertions(+), 39 deletions(-)
diff --git a/server/models/taskSchedule.js b/server/models/taskSchedule.js
old mode 100644
new mode 100755
index a19722a..fffb3c5
--- a/server/models/taskSchedule.js
+++ b/server/models/taskSchedule.js
@@ -6,7 +6,7 @@
var jsonData = '';//瀛樺偍澶╂皵淇℃伅
// 瀹氫箟瑙勫垯
let rule = new schedule.RecurrenceRule();
-rule.minute = [15,30,45,55]
+rule.minute = [1,6,11,16,21,26,31,36,41,46,51,56]
//rule.second = [30, 60]; // 姣忛殧 10 绉掓墽琛屼竴娆�
@@ -22,32 +22,25 @@
schedule.scheduleJob(rule, async () => {//姣忓皬鏃跺畾鏃跺彇澶╂皵鏁版嵁
//https://devapi.heweather.net/v7/weather/now?location=101021700&key=495b433d21c84986a99c4ac52d42fd3b
- let urlstr = "https://devapi.heweather.net/v7/weather/now?location=location_code&key=fca708c817034474b6969579ab61a380";
+ // 1. 妫�娴嬪綋鍓嶆槸鍚﹀凡鏈夊ぉ姘旀暟鎹�
+ let sqlstr = `select count(1) as counter from t_d_weather_hour where TO_DAYS(now())=TO_DAYS(posttime) and HOUR(now())=hour(posttime) and posttime> date_sub(now(), interval 1 hour)`;
+ let lastdata_times = await mysql.query_data(sqlstr, 'master', null);
+ if( lastdata_times[0].counter > 0 ) { return ;}
+ // 2.鑻ュ綋鍓嶆棤澶╂皵鏁版嵁锛岄噸鏂版姄鍙�
+ let urlstr = "https://devapi.heweather.net/v7/weather/now?location=location_code&key=495b433d21c84986a99c4ac52d42fd3b";
sqlstr = `select * from t_s_weather_city order by code`;
let data_rets = await mysql.query_data(sqlstr, 'master', null)
for (let index = 0; index < data_rets.length; index++) {
let element = data_rets[index];
- // 妫�娴嬪綋鍓嶆槸鍚﹀凡鏈夊ぉ姘旀暟鎹�
- let sqlstr = `select count(1) as counter from t_d_weather_hour where citycode='`+element.code+`' and TO_DAYS(now())=TO_DAYS(posttime) and HOUR(now())=hour(posttime) `;
- let lastdata_times = await mysql.query_data(sqlstr, 'master', null);
- console.log(lastdata_times[0].counter);
- console.log(lastdata_times[0].counter > 0)
- if( lastdata_times[0].counter > 0 ) { continue ;}
- // 鑻ュ綋鍓嶆棤澶╂皵鏁版嵁锛岄噸鏂版姄鍙�
axios.get(urlstr.replace('location_code', element.code)).then(response => {
- console.log(response.data)
if(response.data.now) {
let w = response.data.now;
let posttime_ = w.obsTime.replace('T',' ').substr(0,13)+ ':00:00';
- let currHours = (new Date()).getHours();
- let postHours = (new Date(posttime_)).getHours();
- if(postHours == currHours) {
- let sql_ = `insert into t_d_weather_hour (type,citycode,cityname,posttime,temp,feelsLike,icon,text,wind360,windDir,windScale,windSpeed,humidity,precip,pressure,vis,cloud,dew,responsedata)
- values ('${element.type}','${element.code}','${element.name}','${posttime_}','${w.temp}','${w.feelsLike}','${w.icon}','${w.text}','${w.wind360}',
- '${w.windDir}','${w.windScale}','${w.windSpeed}','${w.humidity}','${w.precip}','${w.pressure}','${w.vis}','${w.cloud}','${w.dew}','${JSON.stringify(response.data)}'
- )`;
- mysql.query_data(sql_, 'master', null)
- }
+ let sql_ = `insert into t_d_weather_hour (type,citycode,cityname,posttime,temp,feelsLike,icon,text,wind360,windDir,windScale,windSpeed,humidity,precip,pressure,vis,cloud,dew,responsedata)
+ values ('${element.type}','${element.code}','${element.name}','${posttime_}','${w.temp}','${w.feelsLike}','${w.icon}','${w.text}','${w.wind360}',
+ '${w.windDir}','${w.windScale}','${w.windSpeed}','${w.humidity}','${w.precip}','${w.pressure}','${w.vis}','${w.cloud}','${w.dew}','${JSON.stringify(response.data)}'
+ )`;
+ mysql.query_data(sql_, 'master', null)
}
}).catch(error => {
console.log(error);
@@ -59,34 +52,29 @@
schedule.scheduleJob(rule, async () => {//姣忓ぉ瀹氭椂鏇存柊澶╂皵鏁版嵁
//https://devapi.qweather.com/v7/weather/3d?location=101021700&key=495b433d21c84986a99c4ac52d42fd3b
-
- let urlstr = "https://devapi.qweather.com/v7/weather/3d?location=location_code&key=fca708c817034474b6969579ab61a380";
+ // 1. 妫�娴嬪綋鍓嶆槸鍚﹀凡鏈夊ぉ姘旀暟鎹�
+ let sqlstr = `select count(1) as counter from t_d_weather_day where TO_DAYS(now())=TO_DAYS(posttime)`;
+ let lastdata_times = await mysql.query_data(sqlstr, 'master', null);
+ if( lastdata_times[0].counter > 0 ) { return ;}
+ // 2.鑻ュ綋鍓嶆棤澶╂皵鏁版嵁锛岄噸鏂版姄鍙�
+ let urlstr = "https://devapi.qweather.com/v7/weather/3d?location=location_code&key=495b433d21c84986a99c4ac52d42fd3b";
sqlstr = `select * from t_s_weather_city order by code`;
let data_rets = await mysql.query_data(sqlstr, 'master', null)
for (let index = 0; index < data_rets.length; index++) {
let element = data_rets[index];
- // 妫�娴嬪綋鍓嶆槸鍚﹀凡鏈夊ぉ姘旀暟鎹�
- let sqlstr = `select count(1) as counter from t_d_weather_day where citycode='`+element.code+`' and TO_DAYS(now())=TO_DAYS(posttime)`;
- let lastdata_times = await mysql.query_data(sqlstr, 'master', null);
- if( lastdata_times[0].counter > 0 ) { continue ;}
- // 鑻ュ綋鍓嶆棤澶╂皵鏁版嵁锛岄噸鏂版姄鍙�
axios.get(urlstr.replace('location_code', element.code)).then(response => {
if(response.data.daily) {
let w = response.data.daily[0];
let posttime_ = w.fxDate+ ' 00:00:00';
- let currdate = (new Date()).getDate();
- let postdate = (new Date(posttime_)).getDate();
- if (currdate == postdate) {
- let sql_ = `insert into t_d_weather_day (type,citycode,cityname,posttime,iconNight,iconDay,humidity,precip,pressure,vis,cloud,
- moonPhase,moonPhaseIcon,moonrise,moonset,sunrise,sunset,tempMax,tempMin,textDay,textNight,uvIndex,
- wind360Day,windDirDay,wind360Night,windDirNight,windScaleDay,windScaleNight,windSpeedDay,windSpeedNight,responsedata)
- values ('${element.type}','${element.code}','${element.name}','${posttime_}','${w.iconNight}','${w.iconDay}','${w.humidity}','${w.precip}','${w.pressure}','${w.vis}',
- '${w.cloud}','${w.moonPhase}','${w.moonPhaseIcon}','${w.moonrise}','${w.moonset}','${w.sunrise}','${w.sunset}','${w.tempMax}','${w.tempMin}','${w.textDay}','${w.textNight}','${w.uvIndex}',
- '${w.wind360Day}','${w.windDirDay}','${w.wind360Night}','${w.windDirNight}','${w.windScaleDay}','${w.windScaleNight}','${w.windSpeedDay}','${w.windSpeedNight}',
- '${JSON.stringify(response.data)}'
- )`;
- mysql.query_data(sql_, 'master', null)
- }
+ let sql_ = `insert into t_d_weather_day (type,citycode,cityname,posttime,iconNight,iconDay,humidity,precip,pressure,vis,cloud,
+ moonPhase,moonPhaseIcon,moonrise,moonset,sunrise,sunset,tempMax,tempMin,textDay,textNight,uvIndex,
+ wind360Day,windDirDay,wind360Night,windDirNight,windScaleDay,windScaleNight,windSpeedDay,windSpeedNight,responsedata)
+ values ('${element.type}','${element.code}','${element.name}','${posttime_}','${w.iconNight}','${w.iconDay}','${w.humidity}','${w.precip}','${w.pressure}','${w.vis}',
+ '${w.cloud}','${w.moonPhase}','${w.moonPhaseIcon}','${w.moonrise}','${w.moonset}','${w.sunrise}','${w.sunset}','${w.tempMax}','${w.tempMin}','${w.textDay}','${w.textNight}','${w.uvIndex}',
+ '${w.wind360Day}','${w.windDirDay}','${w.wind360Night}','${w.windDirNight}','${w.windScaleDay}','${w.windScaleNight}','${w.windSpeedDay}','${w.windSpeedNight}',
+ '${JSON.stringify(response.data)}'
+ )`;
+ mysql.query_data(sql_, 'master', null)
}
}).catch(error => {
console.log(error);
--
Gitblit v1.9.1