Change execSync/spawnSync to async (#4123)
* WIP * Add missing await * Update package-lock.json
This commit is contained in:
		
							parent
							
								
									73239d441d
								
							
						
					
					
						commit
						1708b67949
					
				
					 6 changed files with 23 additions and 16 deletions
				
			
		
							
								
								
									
										9
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										9
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							|  | @ -63,6 +63,7 @@ | ||||||
|                 "playwright-core": "~1.35.1", |                 "playwright-core": "~1.35.1", | ||||||
|                 "prom-client": "~13.2.0", |                 "prom-client": "~13.2.0", | ||||||
|                 "prometheus-api-metrics": "~3.2.1", |                 "prometheus-api-metrics": "~3.2.1", | ||||||
|  |                 "promisify-child-process": "~4.1.2", | ||||||
|                 "protobufjs": "~7.2.4", |                 "protobufjs": "~7.2.4", | ||||||
|                 "qs": "~6.10.4", |                 "qs": "~6.10.4", | ||||||
|                 "redbean-node": "~0.3.0", |                 "redbean-node": "~0.3.0", | ||||||
|  | @ -15751,6 +15752,14 @@ | ||||||
|                 "node": ">=10" |                 "node": ">=10" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|  |         "node_modules/promisify-child-process": { | ||||||
|  |             "version": "4.1.2", | ||||||
|  |             "resolved": "https://registry.npmjs.org/promisify-child-process/-/promisify-child-process-4.1.2.tgz", | ||||||
|  |             "integrity": "sha512-APnkIgmaHNJpkAn7k+CrJSi9WMuff5ctYFbD0CO2XIPkM8yO7d/ShouU2clywbpHV/DUsyc4bpJCsNgddNtx4g==", | ||||||
|  |             "engines": { | ||||||
|  |                 "node": ">=8" | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|         "node_modules/prompts": { |         "node_modules/prompts": { | ||||||
|             "version": "2.4.2", |             "version": "2.4.2", | ||||||
|             "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", |             "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", | ||||||
|  |  | ||||||
|  | @ -130,6 +130,7 @@ | ||||||
|         "playwright-core": "~1.35.1", |         "playwright-core": "~1.35.1", | ||||||
|         "prom-client": "~13.2.0", |         "prom-client": "~13.2.0", | ||||||
|         "prometheus-api-metrics": "~3.2.1", |         "prometheus-api-metrics": "~3.2.1", | ||||||
|  |         "promisify-child-process": "~4.1.2", | ||||||
|         "protobufjs": "~7.2.4", |         "protobufjs": "~7.2.4", | ||||||
|         "qs": "~6.10.4", |         "qs": "~6.10.4", | ||||||
|         "redbean-node": "~0.3.0", |         "redbean-node": "~0.3.0", | ||||||
|  |  | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| const { MonitorType } = require("./monitor-type"); | const { MonitorType } = require("./monitor-type"); | ||||||
| const { UP } = require("../../src/util"); | const { UP } = require("../../src/util"); | ||||||
| const childProcess = require("child_process"); | const childProcessAsync = require("promisify-child-process"); | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * A TailscalePing class extends the MonitorType. |  * A TailscalePing class extends the MonitorType. | ||||||
|  | @ -38,12 +38,9 @@ class TailscalePing extends MonitorType { | ||||||
|      */ |      */ | ||||||
|     async runTailscalePing(hostname, interval) { |     async runTailscalePing(hostname, interval) { | ||||||
|         let timeout = interval * 1000 * 0.8; |         let timeout = interval * 1000 * 0.8; | ||||||
|         let res = childProcess.spawnSync("tailscale", [ "ping", hostname ], { |         let res = await childProcessAsync.spawn("tailscale", [ "ping", "--c", "1", hostname ], { | ||||||
|             timeout: timeout |             timeout: timeout | ||||||
|         }); |         }); | ||||||
|         if (res.error) { |  | ||||||
|             throw new Error(`Execution error: ${res.error.message}`); |  | ||||||
|         } |  | ||||||
|         if (res.stderr && res.stderr.toString()) { |         if (res.stderr && res.stderr.toString()) { | ||||||
|             throw new Error(`Error in output: ${res.stderr.toString()}`); |             throw new Error(`Error in output: ${res.stderr.toString()}`); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| const NotificationProvider = require("./notification-provider"); | const NotificationProvider = require("./notification-provider"); | ||||||
| const childProcess = require("child_process"); | const childProcessAsync = require("promisify-child-process"); | ||||||
| 
 | 
 | ||||||
| class Apprise extends NotificationProvider { | class Apprise extends NotificationProvider { | ||||||
| 
 | 
 | ||||||
|  | @ -11,7 +11,7 @@ class Apprise extends NotificationProvider { | ||||||
|             args.push("-t"); |             args.push("-t"); | ||||||
|             args.push(notification.title); |             args.push(notification.title); | ||||||
|         } |         } | ||||||
|         const s = childProcess.spawnSync("apprise", args); |         const s = await childProcessAsync.spawn("apprise", args); | ||||||
| 
 | 
 | ||||||
|         const output = (s.stdout) ? s.stdout.toString() : "ERROR: maybe apprise not found"; |         const output = (s.stdout) ? s.stdout.toString() : "ERROR: maybe apprise not found"; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1223,9 +1223,9 @@ let needSetup = false; | ||||||
|                 // Update nscd status
 |                 // Update nscd status
 | ||||||
|                 if (previousNSCDStatus !== data.nscd) { |                 if (previousNSCDStatus !== data.nscd) { | ||||||
|                     if (data.nscd) { |                     if (data.nscd) { | ||||||
|                         server.startNSCDServices(); |                         await server.startNSCDServices(); | ||||||
|                     } else { |                     } else { | ||||||
|                         server.stopNSCDServices(); |                         await server.stopNSCDServices(); | ||||||
|                     } |                     } | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -10,7 +10,7 @@ const util = require("util"); | ||||||
| const { CacheableDnsHttpAgent } = require("./cacheable-dns-http-agent"); | const { CacheableDnsHttpAgent } = require("./cacheable-dns-http-agent"); | ||||||
| const { Settings } = require("./settings"); | const { Settings } = require("./settings"); | ||||||
| const dayjs = require("dayjs"); | const dayjs = require("dayjs"); | ||||||
| const childProcess = require("child_process"); | const childProcessAsync = require("promisify-child-process"); | ||||||
| const path = require("path"); | const path = require("path"); | ||||||
| // DO NOT IMPORT HERE IF THE MODULES USED `UptimeKumaServer.getInstance()`, put at the bottom of this file instead.
 | // DO NOT IMPORT HERE IF THE MODULES USED `UptimeKumaServer.getInstance()`, put at the bottom of this file instead.
 | ||||||
| 
 | 
 | ||||||
|  | @ -344,7 +344,7 @@ class UptimeKumaServer { | ||||||
|         let enable = await Settings.get("nscd"); |         let enable = await Settings.get("nscd"); | ||||||
| 
 | 
 | ||||||
|         if (enable || enable === null) { |         if (enable || enable === null) { | ||||||
|             this.startNSCDServices(); |             await this.startNSCDServices(); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | @ -356,7 +356,7 @@ class UptimeKumaServer { | ||||||
|         let enable = await Settings.get("nscd"); |         let enable = await Settings.get("nscd"); | ||||||
| 
 | 
 | ||||||
|         if (enable || enable === null) { |         if (enable || enable === null) { | ||||||
|             this.stopNSCDServices(); |             await this.stopNSCDServices(); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | @ -364,11 +364,11 @@ class UptimeKumaServer { | ||||||
|      * Start all system services (e.g. nscd) |      * Start all system services (e.g. nscd) | ||||||
|      * For now, only used in Docker |      * For now, only used in Docker | ||||||
|      */ |      */ | ||||||
|     startNSCDServices() { |     async startNSCDServices() { | ||||||
|         if (process.env.UPTIME_KUMA_IS_CONTAINER) { |         if (process.env.UPTIME_KUMA_IS_CONTAINER) { | ||||||
|             try { |             try { | ||||||
|                 log.info("services", "Starting nscd"); |                 log.info("services", "Starting nscd"); | ||||||
|                 childProcess.execSync("sudo service nscd start", { stdio: "pipe" }); |                 await childProcessAsync.exec("sudo service nscd start"); | ||||||
|             } catch (e) { |             } catch (e) { | ||||||
|                 log.info("services", "Failed to start nscd"); |                 log.info("services", "Failed to start nscd"); | ||||||
|             } |             } | ||||||
|  | @ -378,11 +378,11 @@ class UptimeKumaServer { | ||||||
|     /** |     /** | ||||||
|      * Stop all system services |      * Stop all system services | ||||||
|      */ |      */ | ||||||
|     stopNSCDServices() { |     async stopNSCDServices() { | ||||||
|         if (process.env.UPTIME_KUMA_IS_CONTAINER) { |         if (process.env.UPTIME_KUMA_IS_CONTAINER) { | ||||||
|             try { |             try { | ||||||
|                 log.info("services", "Stopping nscd"); |                 log.info("services", "Stopping nscd"); | ||||||
|                 childProcess.execSync("sudo service nscd stop"); |                 await childProcessAsync.exec("sudo service nscd stop"); | ||||||
|             } catch (e) { |             } catch (e) { | ||||||
|                 log.info("services", "Failed to stop nscd"); |                 log.info("services", "Failed to stop nscd"); | ||||||
|             } |             } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue