MCPcopy Index your code
hub / github.com/monkeytypegame/monkeytype / bootServer

Function bootServer

backend/src/server.ts:23–95  ·  view source on GitHub ↗
(port: number)

Source from the content-addressed store, hash-verified

21import { getErrorMessage } from "./utils/error";
22
23async function bootServer(port: number): Promise<Server> {
24 try {
25 Logger.info(`Starting server version ${version}`);
26 Logger.info(`Starting server in ${process.env["MODE"]} mode`);
27 Logger.info(`Connecting to database ${process.env["DB_NAME"]}...`);
28 await db.connect();
29 Logger.success("Connected to database");
30
31 Logger.info("Initializing Firebase app instance...");
32 initFirebaseAdmin();
33
34 Logger.info("Fetching live configuration...");
35 await getLiveConfiguration();
36 Logger.success("Live configuration fetched");
37 await updateFromConfigurationFile();
38
39 Logger.info("Initializing email client...");
40 await EmailClient.init();
41
42 Logger.info("Connecting to redis...");
43 await RedisClient.connect();
44
45 if (RedisClient.isConnected()) {
46 Logger.success("Connected to redis");
47 const connection = RedisClient.getConnection();
48
49 Logger.info("Initializing queues...");
50 queues.forEach((queue) => {
51 queue.init(connection ?? undefined);
52 });
53 Logger.success(
54 `Queues initialized: ${queues
55 .map((queue) => queue.queueName)
56 .join(", ")}`,
57 );
58
59 Logger.info("Initializing workers...");
60 workers.forEach(async (worker) => {
61 await worker(connection ?? undefined).run();
62 });
63 Logger.success(
64 `Workers initialized: ${workers
65 .map((worker) => worker(connection ?? undefined).name)
66 .join(", ")}`,
67 );
68 }
69
70 Logger.info("Starting cron jobs...");
71 jobs.forEach((job) => job.start());
72 Logger.success("Cron jobs started");
73
74 Logger.info("Setting up leaderboard indicies...");
75 await leaderboardDbSetup();
76
77 Logger.info("Setting up blocklist indicies...");
78 await blocklistDbSetup();
79
80 Logger.info("Setting up connections indicies...");

Callers 1

server.tsFile · 0.85

Calls 5

getLiveConfigurationFunction · 0.90
recordServerVersionFunction · 0.90
getErrorMessageFunction · 0.90
initMethod · 0.80

Tested by

no test coverage detected