|
@@ -224,6 +224,35 @@ async function checkArtPuzzleLatest() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+// 检查art.pcoloring.com网站
|
|
|
|
|
+async function checkArtSite() {
|
|
|
|
|
+ let url = `https://art.pcoloring.com/en`;
|
|
|
|
|
+ let data;
|
|
|
|
|
+ try {
|
|
|
|
|
+ let resp = await axios.get(url);
|
|
|
|
|
+ data = resp.data;
|
|
|
|
|
+ } catch (e) {
|
|
|
|
|
+ console.error('art.pcoloring.com 网站无法访问,请及时检查', [e.message]);
|
|
|
|
|
+ return {
|
|
|
|
|
+ result: false,
|
|
|
|
|
+ errcode: 1000,
|
|
|
|
|
+ title: 'art.pcoloring.com 网站无法访问,请及时检查',
|
|
|
|
|
+ sms: SmsTemplate.SMS_PCOLORING_ERROR,
|
|
|
|
|
+ data: [e.message],
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return {
|
|
|
|
|
+ result: true,
|
|
|
|
|
+ errcode: 0,
|
|
|
|
|
+ title: 'art.pcoloring.com 网站正常运行',
|
|
|
|
|
+ sms: SmsTemplate.SMS_RESUME,
|
|
|
|
|
+ data: ['art.pcoloring.com 网站正常运行']
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
async function run(lastErrCode = 0) {
|
|
async function run(lastErrCode = 0) {
|
|
|
console.log("check api...", new Date());
|
|
console.log("check api...", new Date());
|
|
|
try {
|
|
try {
|
|
@@ -307,6 +336,33 @@ async function run(lastErrCode = 0) {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+ for (let i = 0; i < 3; i++) {
|
|
|
|
|
+ result = await checkArtSite();
|
|
|
|
|
+ console.log(result);
|
|
|
|
|
+ if (!result.result) {
|
|
|
|
|
+ console.warn("检查art.pcoloring.com网站服务出现异常,一分钟后重试");
|
|
|
|
|
+ await delay(60 * 1000);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ console.warn("art.pcoloring.com网站一切正常");
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!result.result) {
|
|
|
|
|
+ console.error("连续3次检查art.pcoloring.com网站服务异常,发送通知");
|
|
|
|
|
+ sendEmail(result.title, result.data);
|
|
|
|
|
+ sendSms(result.sms);
|
|
|
|
|
+ console.log("5分钟后再试");
|
|
|
|
|
+ setTimeout(run, 5 * 60 * 1000, result.errcode);
|
|
|
|
|
+ return;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 如果上次时出错的情况, 那么属于服务恢复,发送恢复通知
|
|
|
|
|
+ if (lastErrCode == 1000) {
|
|
|
|
|
+ sendEmail(result.title, result.data);
|
|
|
|
|
+ sendSms(result.sms);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
} catch (err) {
|
|
} catch (err) {
|
|
|
console.error(err.stack);
|
|
console.error(err.stack);
|
|
|
}
|
|
}
|