mirror of
				https://github.com/louislam/uptime-kuma.git
				synced 2025-11-04 13:46:13 +08:00 
			
		
		
		
	prevent unexpected error throw from checkCertificate interrupt the beat
This commit is contained in:
		@@ -6,6 +6,7 @@ var timezone = require('dayjs/plugin/timezone')
 | 
			
		||||
dayjs.extend(utc)
 | 
			
		||||
dayjs.extend(timezone)
 | 
			
		||||
const axios = require("axios");
 | 
			
		||||
const {debug} = require("../util");
 | 
			
		||||
const {tcping, ping, checkCertificate} = require("../util-server");
 | 
			
		||||
const {R} = require("redbean-node");
 | 
			
		||||
const {BeanModel} = require("redbean-node/dist/bean-model");
 | 
			
		||||
@@ -84,9 +85,17 @@ class Monitor extends BeanModel {
 | 
			
		||||
                    bean.ping = dayjs().valueOf() - startTime;
 | 
			
		||||
 | 
			
		||||
                    // Check certificate if https is used
 | 
			
		||||
 | 
			
		||||
                    let certInfoStartTime = dayjs().valueOf();
 | 
			
		||||
                    if (this.getUrl()?.protocol === "https:") {
 | 
			
		||||
                        try {
 | 
			
		||||
                            await this.updateTlsInfo(checkCertificate(res));
 | 
			
		||||
                        } catch (e) {
 | 
			
		||||
                            console.error(e.message)
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                    debug("Cert Info Query Time: " + (dayjs().valueOf() - certInfoStartTime) + "ms")
 | 
			
		||||
 | 
			
		||||
                    if (this.type === "http") {
 | 
			
		||||
                        bean.status = 1;
 | 
			
		||||
@@ -199,7 +208,7 @@ class Monitor extends BeanModel {
 | 
			
		||||
            tls_info_bean.monitor_id = this.id;
 | 
			
		||||
        }
 | 
			
		||||
        tls_info_bean.info_json = JSON.stringify(checkCertificateResult);
 | 
			
		||||
        R.store(tls_info_bean);
 | 
			
		||||
        await R.store(tls_info_bean);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    static async sendStats(io, monitorID, userID) {
 | 
			
		||||
 
 | 
			
		||||
@@ -14,3 +14,9 @@ exports.ucfirst = function (str) {
 | 
			
		||||
    return firstLetter.toUpperCase() + str.substr(1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
exports.debug = (msg) => {
 | 
			
		||||
    if (process.env.NODE_ENV === "development") {
 | 
			
		||||
        console.log(msg)
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user