mirror of
				https://github.com/louislam/uptime-kuma.git
				synced 2025-11-01 03:49:24 +08:00 
			
		
		
		
	prevent monitor dead for unexpected error
This commit is contained in:
		| @@ -387,18 +387,32 @@ class Monitor extends BeanModel { | ||||
|                     } | ||||
|                 } | ||||
|  | ||||
|                 this.heartbeatInterval = setTimeout(beat, beatInterval * 1000); | ||||
|                 this.heartbeatInterval = setTimeout(safeBeat, beatInterval * 1000); | ||||
|             } | ||||
|  | ||||
|         }; | ||||
|  | ||||
|         const safeBeat = async () => { | ||||
|             try { | ||||
|                 await beat(); | ||||
|             } catch (e) { | ||||
|                 console.trace(e); | ||||
|                 console.error("Please report to https://github.com/louislam/uptime-kuma/issues"); | ||||
|  | ||||
|                 if (! this.isStop) { | ||||
|                     console.log("Try to restart the monitor"); | ||||
|                     this.heartbeatInterval = setTimeout(safeBeat, this.interval * 1000); | ||||
|                 } | ||||
|             } | ||||
|         }; | ||||
|  | ||||
|         // Delay Push Type | ||||
|         if (this.type === "push") { | ||||
|             setTimeout(() => { | ||||
|                 beat(); | ||||
|                 safeBeat(); | ||||
|             }, this.interval * 1000); | ||||
|         } else { | ||||
|             beat(); | ||||
|             safeBeat(); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user