summaryrefslogtreecommitdiffstats
path: root/.vscode
diff options
context:
space:
mode:
authorHao Liu <44379968+TheRealHaoLiu@users.noreply.github.com>2024-03-07 20:31:50 +0100
committerGitHub <noreply@github.com>2024-03-07 20:31:50 +0100
commit3f2f7b75a639da6fe5661d021260f82c8b300044 (patch)
treecc78bc8573826de3f112e71d43820675e459907d /.vscode
parentAAP-12273 remove incorrect sentence conjugation (#14946) (diff)
downloadawx-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.json113
-rw-r--r--.vscode/tasks.json100
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"
+ }
+ ]
+}