PromucFlow_constructor/deploy/docker/utils/bin/import_db.js
Shrikant Sharat Kandula f0a61285a6
docs: Fat container documentation fixes (#7207)
Added additional details about how to use the fat container, and how to manage / maintain it.

Also includes some refactorings that shouldn't affect the functionality significantly.
2021-09-14 19:01:06 +05:30

48 lines
1.2 KiB
JavaScript

// Init function export mongodb
const shell = require('shelljs')
const Constants = require('./constants')
function import_database() {
console.log('import_database ....')
const cmd = `mongorestore --uri='${process.env.APPSMITH_MONGODB_URI}' --archive='${Constants.RESTORE_PATH}/${Constants.DUMP_FILE_NAME}' --gzip`
shell.exec(cmd)
console.log('import_database done')
}
function stop_application() {
shell.exec('/usr/bin/supervisorctl stop backend rts')
}
function start_application() {
shell.exec('/usr/bin/supervisorctl start backend rts')
}
// Main application workflow
function main() {
let errorCode = 0
try {
check_supervisord_status_cmd = '/usr/bin/supervisorctl'
shell.exec(check_supervisord_status_cmd, function (code) {
if (code > 0) {
shell.echo('application is not running, starting supervisord')
shell.exec('/usr/bin/supervisord')
}
})
shell.echo('stop backend & rts application before import database')
stop_application()
import_database()
shell.echo('start backend & rts application after import database')
} catch (err) {
shell.echo(err)
errorCode = 1
} finally {
start_application();
process.exit(errorCode);
}
}
module.exports = {
runImportDatabase: main
};