Impove the check_connect script
This commit is contained in:
parent
5496aa27db
commit
0386e52d6f
@ -5,11 +5,33 @@
|
||||
|
||||
import Redis from 'ioredis';
|
||||
import { loadConfig } from '../built/config.js';
|
||||
import { createPostgresDataSource } from '../built/postgres.js';
|
||||
|
||||
const config = loadConfig();
|
||||
const redis = new Redis(config.redis);
|
||||
|
||||
redis.on('connect', () => redis.disconnect());
|
||||
redis.on('error', (e) => {
|
||||
// createPostgresDataSource handels primaries and replicas automatically.
|
||||
// usually, it only opens connections first use, so we force it using
|
||||
// .initialize()
|
||||
createPostgresDataSource(config)
|
||||
.initialize()
|
||||
.then(c => { c.destroy() })
|
||||
.catch(e => { throw e });
|
||||
|
||||
|
||||
// Connect to all redis servers
|
||||
function connectToRedis(redisOptions) {
|
||||
const redis = new Redis(redisOptions);
|
||||
redis.on('connect', () => redis.disconnect());
|
||||
redis.on('error', (e) => {
|
||||
throw e;
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// If not all of these are defined, the default one gets reused.
|
||||
// so we use a Set to only try connecting once to each **uniq** redis.
|
||||
(new Set([
|
||||
config.redis,
|
||||
config.redisForPubsub,
|
||||
config.redisForJobQueue,
|
||||
config.redisForTimelines,
|
||||
])).forEach(connectToRedis);
|
||||
|
Loading…
Reference in New Issue
Block a user