mirror of
				https://github.com/langgenius/dify.git
				synced 2025-10-31 19:03:09 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| set -e
 | |
| 
 | |
| if [[ "${MIGRATION_ENABLED}" == "true" ]]; then
 | |
|   echo "Running migrations"
 | |
|   flask upgrade-db
 | |
| 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 \
 | |
|     --max-tasks-per-child ${MAX_TASK_PRE_CHILD:-50} --loglevel ${LOG_LEVEL:-INFO} \
 | |
|     -Q ${CELERY_QUEUES:-dataset,mail,ops_trace,app_deletion}
 | |
| 
 | |
| elif [[ "${MODE}" == "beat" ]]; then
 | |
|   exec celery -A app.celery beat --loglevel ${LOG_LEVEL:-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} \
 | |
|       --worker-connections ${SERVER_WORKER_CONNECTIONS:-10} \
 | |
|       --timeout ${GUNICORN_TIMEOUT:-200} \
 | |
|       app:app
 | |
|   fi
 | |
| fi
 | 
