mirror of
https://github.com/bluewave-labs/Checkmate.git
synced 2026-05-14 05:28:39 -05:00
Merge pull request #2140 from bluewave-labs/fix/prod-docker
wait for primary
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user