Implement worker_abort server hook

Also update the manifest command to pass the config file in as a parameter
and modify the logs agent to start shipping the error log to cloudwatch
This commit is contained in:
Athanasios Voutsadakis
2017-09-22 15:03:45 +01:00
parent 01611c1936
commit 646290e2c4
3 changed files with 11 additions and 1 deletions

5
gunicorn_config.py Normal file
View File

@@ -0,0 +1,5 @@
def worker_abort(worker):
worker.log.info("worker received ABORT")
import sys, traceback
for threadId, stack in sys._current_frames().items():
worker.log.info(''.join(traceback.format_stack(stack)))

View File

@@ -1,7 +1,7 @@
---
buildpack: python_buildpack
command: scripts/run_app_paas.sh gunicorn --error-logfile /home/vcap/logs/gunicorn_error.log -w 5 -b 0.0.0.0:$PORT wsgi
command: scripts/run_app_paas.sh gunicorn -c /home/vcap/app/gunicorn_config.py --error-logfile /home/vcap/logs/gunicorn_error.log -w 5 -b 0.0.0.0:$PORT wsgi
services:
- notify-aws
- notify-config

View File

@@ -29,6 +29,11 @@ state_file = /home/vcap/logs/awslogs-state
file = /home/vcap/logs/app.log.json
log_group_name = paas-${CW_APP_NAME}-application
log_stream_name = {hostname}
[/home/vcap/logs/gunicorn_error.log]
file = /home/vcap/logs/gunicorn_error.log
log_group_name = paas-${CW_APP_NAME}-gunicorn
log_stream_name = {hostname}
EOF
}