mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-11-04 07:24:13 +00:00 
			
		
		
		
	Fix: stop in DB check (#3356)
This commit is contained in:
		
							parent
							
								
									f7d5f597f3
								
							
						
					
					
						commit
						b7b36973f7
					
				
					 1 changed files with 10 additions and 14 deletions
				
			
		
							
								
								
									
										24
									
								
								src/index.ts
									
										
									
									
									
								
							
							
						
						
									
										24
									
								
								src/index.ts
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -23,7 +23,6 @@ import notesStats from './daemons/notes-stats';
 | 
			
		|||
import loadConfig from './config/load';
 | 
			
		||||
import { Config } from './config/types';
 | 
			
		||||
import { lessThan } from './prelude/array';
 | 
			
		||||
import { Db } from 'mongodb';
 | 
			
		||||
 | 
			
		||||
const clusterLog = debug('misskey:cluster');
 | 
			
		||||
const ev = new Xev();
 | 
			
		||||
| 
						 | 
				
			
			@ -192,38 +191,35 @@ async function init(): Promise<Config> {
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	// Try to connect to MongoDB
 | 
			
		||||
	//await checkMongoDB(config);
 | 
			
		||||
	await checkMongoDB(config);
 | 
			
		||||
 | 
			
		||||
	return config;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const requiredMongoDBVersion = [3, 6];
 | 
			
		||||
 | 
			
		||||
function checkMongoDB(config: Config): Promise<void> {
 | 
			
		||||
function checkMongoDB(config: Config) {
 | 
			
		||||
	const mongoDBLogger = new Logger('MongoDB');
 | 
			
		||||
	const u = config.mongodb.user ? encodeURIComponent(config.mongodb.user) : null;
 | 
			
		||||
	const p = config.mongodb.pass ? encodeURIComponent(config.mongodb.pass) : null;
 | 
			
		||||
	const uri = `mongodb://${u && p ? `${u}:****@` : ''}${config.mongodb.host}:${config.mongodb.port}/${config.mongodb.db}`;
 | 
			
		||||
	mongoDBLogger.info(`Connecting to ${uri}`);
 | 
			
		||||
 | 
			
		||||
	return mongo.then(async () => {
 | 
			
		||||
	mongo.then(() => {
 | 
			
		||||
		mongoDBLogger.succ('Connectivity confirmed');
 | 
			
		||||
 | 
			
		||||
		const runningMongoDBVersion = (await nativeDbConn().then(getMongoDBVersion)).split('.').map(x => parseInt(x, 10));
 | 
			
		||||
		mongoDBLogger.info(`Version: ${runningMongoDBVersion.join('.')}`);
 | 
			
		||||
		if (lessThan(runningMongoDBVersion, requiredMongoDBVersion)) {
 | 
			
		||||
			mongoDBLogger.error(`MongoDB version is less than ${requiredMongoDBVersion.join('.')}. Please upgrade it.`);
 | 
			
		||||
			process.exit(1);
 | 
			
		||||
		}
 | 
			
		||||
		nativeDbConn().then(db => db.admin().serverInfo()).then(x => x.version).then((version: string) => {
 | 
			
		||||
			mongoDBLogger.info(`Version: ${version}`);
 | 
			
		||||
			if (lessThan(version.split('.').map(x => parseInt(x, 10)), requiredMongoDBVersion)) {
 | 
			
		||||
				mongoDBLogger.error(`MongoDB version is less than ${requiredMongoDBVersion.join('.')}. Please upgrade it.`);
 | 
			
		||||
				process.exit(1);
 | 
			
		||||
			}
 | 
			
		||||
		});
 | 
			
		||||
	}).catch(err => {
 | 
			
		||||
		mongoDBLogger.error(err.message);
 | 
			
		||||
	});
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
async function getMongoDBVersion(db: Db): Promise<string> {
 | 
			
		||||
	return (await db.admin().serverInfo()).version;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
async function spawnWorkers(limit: number = Infinity) {
 | 
			
		||||
	const workers = Math.min(limit, os.cpus().length);
 | 
			
		||||
	Logger.info(`Starting ${workers} worker${workers === 1 ? '' : 's'}...`);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue