mirror of
				https://github.com/louislam/uptime-kuma.git
				synced 2025-11-04 05:36:13 +08:00 
			
		
		
		
	Should be an ulitmate fix for request timeout issue (#4011)
This commit is contained in:
		@@ -367,6 +367,12 @@ class Monitor extends BeanModel {
 | 
			
		||||
                bean.duration = 0;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            // Runtime patch timeout if it is 0
 | 
			
		||||
            // See https://github.com/louislam/uptime-kuma/pull/3961#issuecomment-1804149144
 | 
			
		||||
            if (this.timeout <= 0) {
 | 
			
		||||
                this.timeout = this.interval * 1000 * 0.8;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            try {
 | 
			
		||||
                if (await Monitor.isUnderMaintenance(this.id)) {
 | 
			
		||||
                    bean.msg = "Monitor under maintenance";
 | 
			
		||||
 
 | 
			
		||||
@@ -1132,13 +1132,17 @@ if (process.env.TEST_BACKEND) {
 | 
			
		||||
 */
 | 
			
		||||
module.exports.axiosAbortSignal = (timeoutMs) => {
 | 
			
		||||
    try {
 | 
			
		||||
        // Just in case, as 0 timeout here will cause the request to be aborted immediately
 | 
			
		||||
        if (!timeoutMs || timeoutMs <= 0) {
 | 
			
		||||
            timeoutMs = 5000;
 | 
			
		||||
        }
 | 
			
		||||
        return AbortSignal.timeout(timeoutMs);
 | 
			
		||||
    } catch (_) {
 | 
			
		||||
        // v16-: AbortSignal.timeout is not supported
 | 
			
		||||
        try {
 | 
			
		||||
            const abortController = new AbortController();
 | 
			
		||||
 | 
			
		||||
            setTimeout(() => abortController.abort(), timeoutMs || 0);
 | 
			
		||||
            setTimeout(() => abortController.abort(), timeoutMs);
 | 
			
		||||
 | 
			
		||||
            return abortController.signal;
 | 
			
		||||
        } catch (_) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user