mirror of
https://github.com/status-im/spiff-arena.git
synced 2025-01-10 18:25:42 +00:00
40682d0592
No longer clear errors in the task bar, as that will constantly remove them as soon as they are shown.
57 lines
1.7 KiB
Bash
Executable File
57 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
function error_handler() {
|
|
>&2 echo "Exited with BAD EXIT CODE '${2}' in ${0} script at line: ${1}."
|
|
exit "$2"
|
|
}
|
|
trap 'error_handler ${LINENO} $?' ERR
|
|
set -o errtrace -o errexit -o nounset -o pipefail
|
|
|
|
# run migrations
|
|
export FLASK_APP=/app/src/spiffworkflow_backend
|
|
|
|
if [[ "${WAIT_FOR_DB_TO_BE_READY:-}" == "true" ]]; then
|
|
echo 'Waiting for db to be ready...'
|
|
poetry run python ./bin/wait_for_db_to_be_ready.py
|
|
fi
|
|
|
|
if [[ "${DOWNGRADE_DB:-}" == "true" ]]; then
|
|
echo 'Downgrading database...'
|
|
poetry run flask db downgrade
|
|
fi
|
|
|
|
if [[ "${SPIFFWORKFLOW_BACKEND_UPGRADE_DB:-}" == "true" ]]; then
|
|
echo 'Upgrading database...'
|
|
poetry run flask db upgrade
|
|
fi
|
|
|
|
port="${SPIFFWORKFLOW_BACKEND_PORT:-}"
|
|
if [[ -z "$port" ]]; then
|
|
port=7000
|
|
fi
|
|
|
|
additional_args=""
|
|
|
|
if [[ "${APPLICATION_ROOT:-}" != "/" ]]; then
|
|
additional_args="${additional_args} -e SCRIPT_NAME=${APPLICATION_ROOT}"
|
|
fi
|
|
|
|
# HACK: if loading fixtures for acceptance tests when we do not need multiple workers
|
|
# it causes issues with attempting to add duplicate data to the db
|
|
workers=3
|
|
if [[ "${SPIFFWORKFLOW_BACKEND_LOAD_FIXTURE_DATA:-}" == "true" ]]; then
|
|
workers=1
|
|
fi
|
|
|
|
if [[ "${SPIFFWORKFLOW_BACKEND_RUN_DATA_SETUP:-}" != "false" ]]; then
|
|
SPIFFWORKFLOW_BACKEND_FAIL_ON_INVALID_PROCESS_MODELS=false poetry run python bin/save_all_bpmn.py
|
|
fi
|
|
|
|
# Assure that the the Process Models Directory is initialized as a git repo
|
|
git init "${BPMN_SPEC_ABSOLUTE_DIR}"
|
|
git config --global --add safe.directory "${BPMN_SPEC_ABSOLUTE_DIR}"
|
|
|
|
export IS_GUNICORN="true"
|
|
# THIS MUST BE THE LAST COMMAND!
|
|
exec poetry run gunicorn ${additional_args} --bind "0.0.0.0:$port" --workers="$workers" --limit-request-line 8192 --timeout 90 --capture-output --access-logfile '-' --log-level debug wsgi:app
|