| 1234567891011121314151617181920212223242526272829303132333435363738394041 | 
							- #!/bin/bash
 
- set -e
 
- if [[ "${MIGRATION_ENABLED}" == "true" ]]; then
 
-   echo "Running migrations"
 
-   flask db upgrade
 
- fi
 
- if [[ "${MODE}" == "worker" ]]; then
 
-   # Get the number of available CPU cores
 
-   if [ "${CELERY_AUTO_SCALE,,}" = "true" ]; then
 
-     # Set MAX_WORKERS to the number of available cores if not specified
 
-     AVAILABLE_CORES=$(nproc)
 
-     MAX_WORKERS=${CELERY_MAX_WORKERS:-$AVAILABLE_CORES}
 
-     MIN_WORKERS=${CELERY_MIN_WORKERS:-1}
 
-     CONCURRENCY_OPTION="--autoscale=${MAX_WORKERS},${MIN_WORKERS}"
 
-   else
 
-     CONCURRENCY_OPTION="-c ${CELERY_WORKER_AMOUNT:-1}"
 
-   fi
 
-   exec celery -A app.celery worker -P ${CELERY_WORKER_CLASS:-gevent} $CONCURRENCY_OPTION --loglevel INFO \
 
-     -Q ${CELERY_QUEUES:-dataset,generation,mail,ops_trace,app_deletion}
 
- elif [[ "${MODE}" == "beat" ]]; then
 
-   exec celery -A app.celery beat --loglevel INFO
 
- else
 
-   if [[ "${DEBUG}" == "true" ]]; then
 
-     exec flask run --host=${DIFY_BIND_ADDRESS:-0.0.0.0} --port=${DIFY_PORT:-5001} --debug
 
-   else
 
-     exec gunicorn \
 
-       --bind "${DIFY_BIND_ADDRESS:-0.0.0.0}:${DIFY_PORT:-5001}" \
 
-       --workers ${SERVER_WORKER_AMOUNT:-1} \
 
-       --worker-class ${SERVER_WORKER_CLASS:-gevent} \
 
-       --timeout ${GUNICORN_TIMEOUT:-200} \
 
-       --preload \
 
-       app:app
 
-   fi
 
- fi
 
 
  |