diff options
author | Hao Liu <44379968+TheRealHaoLiu@users.noreply.github.com> | 2024-03-07 20:31:50 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-07 20:31:50 +0100 |
commit | 3f2f7b75a639da6fe5661d021260f82c8b300044 (patch) | |
tree | cc78bc8573826de3f112e71d43820675e459907d /.vscode | |
parent | AAP-12273 remove incorrect sentence conjugation (#14946) (diff) | |
download | awx-3f2f7b75a639da6fe5661d021260f82c8b300044.tar.xz awx-3f2f7b75a639da6fe5661d021260f82c8b300044.zip |
[developer productivity improvement] Running awx components in vscode debugger (#14942)
Enable VSCode debugger integration when attaching VSCode to with AWX docker-compose development environment container
- add debugpy launch target in `.vscode/launch.json` to enable launching awx processes with debugpy
- add vscode tasks in `.vscode/tasks.json` to facilitate shutting down corresponding supervisord managed processes while launching process with debugpy
- modify nginx conf to add django runserver as fallback to uwsgi (enable launching API server via debugpy)
Diffstat (limited to '.vscode')
-rw-r--r-- | .vscode/launch.json | 113 | ||||
-rw-r--r-- | .vscode/tasks.json | 100 |
2 files changed, 213 insertions, 0 deletions
diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000000..6228912256 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,113 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "run_ws_heartbeat", + "type": "debugpy", + "request": "launch", + "program": "manage.py", + "args": ["run_ws_heartbeat"], + "django": true, + "preLaunchTask": "stop awx-ws-heartbeat", + "postDebugTask": "start awx-ws-heartbeat" + }, + { + "name": "run_cache_clear", + "type": "debugpy", + "request": "launch", + "program": "manage.py", + "args": ["run_cache_clear"], + "django": true, + "preLaunchTask": "stop awx-cache-clear", + "postDebugTask": "start awx-cache-clear" + }, + { + "name": "run_callback_receiver", + "type": "debugpy", + "request": "launch", + "program": "manage.py", + "args": ["run_callback_receiver"], + "django": true, + "preLaunchTask": "stop awx-receiver", + "postDebugTask": "start awx-receiver" + }, + { + "name": "run_dispatcher", + "type": "debugpy", + "request": "launch", + "program": "manage.py", + "args": ["run_dispatcher"], + "django": true, + "preLaunchTask": "stop awx-dispatcher", + "postDebugTask": "start awx-dispatcher" + }, + { + "name": "run_rsyslog_configurer", + "type": "debugpy", + "request": "launch", + "program": "manage.py", + "args": ["run_rsyslog_configurer"], + "django": true, + "preLaunchTask": "stop awx-rsyslog-configurer", + "postDebugTask": "start awx-rsyslog-configurer" + }, + { + "name": "run_cache_clear", + "type": "debugpy", + "request": "launch", + "program": "manage.py", + "args": ["run_cache_clear"], + "django": true, + "preLaunchTask": "stop awx-cache-clear", + "postDebugTask": "start awx-cache-clear" + }, + { + "name": "run_wsrelay", + "type": "debugpy", + "request": "launch", + "program": "manage.py", + "args": ["run_wsrelay"], + "django": true, + "preLaunchTask": "stop awx-wsrelay", + "postDebugTask": "start awx-wsrelay" + }, + { + "name": "daphne", + "type": "debugpy", + "request": "launch", + "program": "/var/lib/awx/venv/awx/bin/daphne", + "args": ["-b", "127.0.0.1", "-p", "8051", "awx.asgi:channel_layer"], + "django": true, + "preLaunchTask": "stop awx-daphne", + "postDebugTask": "start awx-daphne" + }, + { + "name": "runserver(uwsgi alternative)", + "type": "debugpy", + "request": "launch", + "program": "manage.py", + "args": ["runserver", "127.0.0.1:8052"], + "django": true, + "preLaunchTask": "stop awx-uwsgi", + "postDebugTask": "start awx-uwsgi" + }, + { + "name": "runserver_plus(uwsgi alternative)", + "type": "debugpy", + "request": "launch", + "program": "manage.py", + "args": ["runserver_plus", "127.0.0.1:8052"], + "django": true, + "preLaunchTask": "stop awx-uwsgi and install Werkzeug", + "postDebugTask": "start awx-uwsgi" + }, + { + "name": "shell_plus", + "type": "debugpy", + "request": "launch", + "program": "manage.py", + "args": ["shell_plus"], + "django": true, + }, + ] +} diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000000..0b878663c3 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,100 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "start awx-cache-clear", + "type": "shell", + "command": "supervisorctl start tower-processes:awx-cache-clear" + }, + { + "label": "stop awx-cache-clear", + "type": "shell", + "command": "supervisorctl stop tower-processes:awx-cache-clear" + }, + { + "label": "start awx-daphne", + "type": "shell", + "command": "supervisorctl start tower-processes:awx-daphne" + }, + { + "label": "stop awx-daphne", + "type": "shell", + "command": "supervisorctl stop tower-processes:awx-daphne" + }, + { + "label": "start awx-dispatcher", + "type": "shell", + "command": "supervisorctl start tower-processes:awx-dispatcher" + }, + { + "label": "stop awx-dispatcher", + "type": "shell", + "command": "supervisorctl stop tower-processes:awx-dispatcher" + }, + { + "label": "start awx-receiver", + "type": "shell", + "command": "supervisorctl start tower-processes:awx-receiver" + }, + { + "label": "stop awx-receiver", + "type": "shell", + "command": "supervisorctl stop tower-processes:awx-receiver" + }, + { + "label": "start awx-rsyslog-configurer", + "type": "shell", + "command": "supervisorctl start tower-processes:awx-rsyslog-configurer" + }, + { + "label": "stop awx-rsyslog-configurer", + "type": "shell", + "command": "supervisorctl stop tower-processes:awx-rsyslog-configurer" + }, + { + "label": "start awx-rsyslogd", + "type": "shell", + "command": "supervisorctl start tower-processes:awx-rsyslogd" + }, + { + "label": "stop awx-rsyslogd", + "type": "shell", + "command": "supervisorctl stop tower-processes:awx-rsyslogd" + }, + { + "label": "start awx-uwsgi", + "type": "shell", + "command": "supervisorctl start tower-processes:awx-uwsgi" + }, + { + "label": "stop awx-uwsgi", + "type": "shell", + "command": "supervisorctl stop tower-processes:awx-uwsgi" + }, + { + "label": "stop awx-uwsgi and install Werkzeug", + "type": "shell", + "command": "pip install Werkzeug; supervisorctl stop tower-processes:awx-uwsgi" + }, + { + "label": "start awx-ws-heartbeat", + "type": "shell", + "command": "supervisorctl start tower-processes:awx-ws-heartbeat" + }, + { + "label": "stop awx-ws-heartbeat", + "type": "shell", + "command": "supervisorctl stop tower-processes:awx-ws-heartbeat" + }, + { + "label": "start awx-wsrelay", + "type": "shell", + "command": "supervisorctl start tower-processes:awx-wsrelay" + }, + { + "label": "stop awx-wsrelay", + "type": "shell", + "command": "supervisorctl stop tower-processes:awx-wsrelay" + } + ] +} |