Merge pull request #2140 from bluewave-labs/fix/prod-docker

wait for primary
This commit is contained in:
Alexander Holliday
2025-04-25 15:08:36 -07:00
committed by GitHub
2 changed files with 16 additions and 15 deletions
+2 -2
View File
@@ -52,7 +52,7 @@ services:
- "27017:27017"
volumes:
- ./mongo/data:/data/db
- ./mongo/init/create_users.js:/docker-entrypoint-initdb.d/create_users.js
- ./mongo/init/init_replica_set.js:/docker-entrypoint-initdb.d/init_replica_set.js
- ./mongo/init/01_init_replica_set.js:/docker-entrypoint-initdb.d/01_init_replica_set.js
- ./mongo/init/02_create_users.js:/docker-entrypoint-initdb.d/02_create_users.js
env_file:
- mongo.env
+14 -13
View File
@@ -1,15 +1,16 @@
try {
const status = rs.status();
printjson(status);
} catch (e) {
if (e.codeName === "NotYetInitialized") {
print("Replica set not initialized. Initiating...");
rs.initiate({
_id: "rs0",
members: [{ _id: 0, host: "mongodb:27017" }],
});
} else {
print("Unexpected error during rs.status():");
printjson(e);
function waitForPrimary() {
while (true) {
try {
rs.initiate({
_id: "rs0",
members: [{ _id: 0, host: "localhost:27017" }],
});
break;
} catch (e) {
print("Replica set initiation failed, retrying in 2s...");
sleep(2000);
}
}
}
waitForPrimary();