feat: concurrent command dispatch and profiling test client

Replace sequential await in command/event dispatch with
asyncio.create_task() so slow commands (whois, httpcheck, tlscheck)
no longer block the read loop. Add _spawn() for task lifecycle
tracking. Enable cProfile in docker-compose for profiling. Add
scripts/test_client.py for end-to-end plugin testing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
user
2026-02-15 02:09:53 +01:00
parent 530f33be76
commit 36b21e2463
3 changed files with 232 additions and 10 deletions

View File

@@ -8,4 +8,5 @@ services:
volumes:
- ./config/derp.toml:/app/config/derp.toml:ro,Z
- ./plugins:/app/plugins:ro,Z
command: ["--verbose"]
- ./profile:/app/profile:Z
command: ["--verbose", "--cprofile", "/app/profile/derp.prof"]