2022-10-12 10:22:22 -04:00
#!/usr/bin/env bash
function error_handler() {
2024-01-16 14:47:25 -05:00
echo >&2 "Exited with BAD EXIT CODE '${2}' in ${0} script at line: ${1}."
2022-10-12 10:22:22 -04:00
exit "$2"
}
trap 'error_handler ${LINENO} $?' ERR
set -o errtrace -o errexit -o nounset -o pipefail
2024-01-16 14:47:25 -05:00
script_dir="$(
cd -- "$(dirname "$0")" >/dev/null 2>&1
pwd -P
)"
2023-09-29 16:00:16 -04:00
. "${script_dir}/local_development_environment_setup"
2022-10-12 10:22:22 -04:00
2023-12-05 11:41:59 -05:00
server_type="${1:-api}"
if [[ "$server_type" == "celery_worker" ]]; then
2024-06-13 13:34:32 -04:00
exec "${script_dir}/start_celery_worker"
2022-10-12 10:22:22 -04:00
else
2024-04-05 19:14:09 +00:00
if [[ -n "${SPIFFWORKFLOW_BACKEND_LOAD_FIXTURE_DATA:-}" || -n "${SPIFFWORKFLOW_BACKEND_WSGI_PATH_PREFIX:-}" ]]; then
echo "using ./bin/boot_server_in_docker because we actually load fixture data in wsgi.py, which will not be run with the typical local dev flask server"
2024-06-13 13:34:32 -04:00
exec "${script_dir}/boot_server_in_docker"
2023-12-05 11:41:59 -05:00
else
2022-10-12 15:28:52 -04:00
2023-12-05 11:41:59 -05:00
if [[ "${SPIFFWORKFLOW_BACKEND_RUN_DATA_SETUP:-}" != "false" ]]; then
2024-05-03 14:09:32 +00:00
SPIFFWORKFLOW_BACKEND_RUN_BACKGROUND_SCHEDULER_IN_CREATE_APP=false poetry run python bin/save_all_bpmn.py
2023-12-05 11:41:59 -05:00
fi
2023-01-17 12:23:51 -05:00
2024-01-16 14:47:25 -05:00
# this line blocks
2024-06-13 13:34:32 -04:00
exec poetry run flask run -p "$PORT" --host=0.0.0.0
2023-12-05 11:41:59 -05:00
fi
2022-10-12 10:22:22 -04:00
fi