Enable remote debugging with ptvsd (#3419)

* open port 3000 for remote debugging

* add ptvsd

* use port 5678 to avoid changes in VSCode's default config

* attach to ptvsd

* no need to wait for attach

* actually, --debugger seems to be working

* create a new docker entry point for remote debugging

* alternative method to switch to debugging
This commit is contained in:
Omer Lachish
2019-02-12 09:10:18 +02:00
committed by GitHub
parent 2c1400d323
commit 330c5a85f1
4 changed files with 14 additions and 0 deletions

View File

@@ -39,6 +39,7 @@ help() {
echo ""
echo "shell -- open shell"
echo "dev_server -- start Flask development server with debugger and auto reload"
echo "debug -- start Flask development server with remote debugger via ptvsd"
echo "create_db -- create database tables"
echo "manage -- CLI to manage redash"
echo "tests -- run tests"
@@ -72,6 +73,11 @@ case "$1" in
export FLASK_DEBUG=1
exec /app/manage.py runserver --debugger --reload -h 0.0.0.0
;;
debug)
export FLASK_DEBUG=1
export REMOTE_DEBUG=1
exec /app/manage.py runserver --debugger --no-reload -h 0.0.0.0
;;
shell)
exec /app/manage.py shell
;;

View File

@@ -10,6 +10,7 @@ services:
- redis
ports:
- "5000:5000"
- "5678:5678"
volumes:
- ".:/app"
environment:

View File

@@ -22,6 +22,12 @@ from redash.destinations import import_destinations
__version__ = '6.0.0'
import os
if os.environ.get("REMOTE_DEBUG"):
import ptvsd
ptvsd.enable_attach(address=('0.0.0.0', 5678))
def setup_logging():
handler = logging.StreamHandler(sys.stdout if settings.LOG_STDOUT else sys.stderr)
formatter = logging.Formatter(settings.LOG_FORMAT)

View File

@@ -8,3 +8,4 @@ mock==2.0.0
pymongo[tls,srv]==3.6.1
botocore==1.12.85
PyAthena>=1.0.0
ptvsd==4.2.3