⚡ ✨ prod multi threading
This commit is contained in:
		
							parent
							
								
									e971ba1b62
								
							
						
					
					
						commit
						9705b01fdc
					
				
							
								
								
									
										30
									
								
								src/index.ts
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								src/index.ts
									
									
									
									
									
								
							| @ -5,13 +5,29 @@ import "missing-native-js-functions"; | |||||||
| import { config } from "dotenv"; | import { config } from "dotenv"; | ||||||
| config(); | config(); | ||||||
| import { DiscordServer } from "./Server"; | import { DiscordServer } from "./Server"; | ||||||
|  | import cluster from "cluster"; | ||||||
|  | import os from "os"; | ||||||
|  | const cores = os.cpus().length; | ||||||
| 
 | 
 | ||||||
| var port = Number(process.env.PORT); | if (cluster.isMaster && process.env.production == "true") { | ||||||
| if (isNaN(port)) port = 1000; | 	console.log(`Primary ${process.pid} is running`); | ||||||
| 
 | 
 | ||||||
| const server = new DiscordServer({ port }); | 	// Fork workers.
 | ||||||
| server.start().catch(console.error); | 	for (let i = 0; i < cores; i++) { | ||||||
|  | 		cluster.fork(); | ||||||
|  | 	} | ||||||
| 
 | 
 | ||||||
| // @ts-ignore
 | 	cluster.on("exit", (worker, code, signal) => { | ||||||
| global.server = server; | 		console.log(`worker ${worker.process.pid} died, restart worker`); | ||||||
| export default server; | 		cluster.fork(); | ||||||
|  | 	}); | ||||||
|  | } else { | ||||||
|  | 	var port = Number(process.env.PORT); | ||||||
|  | 	if (isNaN(port)) port = 1000; | ||||||
|  | 
 | ||||||
|  | 	const server = new DiscordServer({ port }); | ||||||
|  | 	server.start().catch(console.error); | ||||||
|  | 
 | ||||||
|  | 	// @ts-ignore
 | ||||||
|  | 	global.server = server; | ||||||
|  | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Flam3rboy
						Flam3rboy