merge: Improve the check_connect script (!588)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/588 Approved-by: fEmber <acomputerdog@gmail.com> Approved-by: dakkar <dakkar@thenautilus.net> Approved-by: Marie <marie@kaifa.ch>
This commit is contained in:
commit
5c3a4925d6
1 changed files with 27 additions and 5 deletions
|
@ -5,11 +5,33 @@
|
||||||
|
|
||||||
import Redis from 'ioredis';
|
import Redis from 'ioredis';
|
||||||
import { loadConfig } from '../built/config.js';
|
import { loadConfig } from '../built/config.js';
|
||||||
|
import { createPostgresDataSource } from '../built/postgres.js';
|
||||||
|
|
||||||
const config = loadConfig();
|
const config = loadConfig();
|
||||||
const redis = new Redis(config.redis);
|
|
||||||
|
|
||||||
redis.on('connect', () => redis.disconnect());
|
// createPostgresDataSource handels primaries and replicas automatically.
|
||||||
redis.on('error', (e) => {
|
// usually, it only opens connections first use, so we force it using
|
||||||
throw e;
|
// .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 a new issue