Conversation
There was a problem hiding this comment.
Pull request overview
This PR introduces an initial “executor” implementation for Django’s task framework integration, along with a grinder management command to run workers, plus a test backend and benchmarks to exercise compute/IO/memory workloads.
Changes:
- Added a multiprocessing/threaded
TaskExecutorand a newgrindermanagement command with graceful shutdown handling. - Introduced a test-only generating task backend and benchmark workloads (compute/IO/memory), wiring them into the test Django settings.
- Updated project tooling/docs (pytest-benchmark, CI filtering of benchmarks, release build via uv, README notes, contributing guide, logos).
Reviewed changes
Copilot reviewed 17 out of 22 changed files in this pull request and generated 19 comments.
Show a summary per file
| File | Description |
|---|---|
tests/testapp/tasks.py | Adds benchmark task workloads (compute/IO/memory). |
tests/testapp/settings.py | Configures a custom TASKS backend and queue list for tests. |
tests/testapp/backends.py | Adds a generating backend that yields synthetic TaskResults for benchmarks. |
tests/test_grinder_command.py | Adds tests and benchmark invocations for the grinder command. |
tests/test_backends.py | Adds basic unit tests for the new backend interface contract. |
README.md | Documents “current worker behavior” (needs alignment with implementation). |
pyproject.toml | Switches Django dependency to a VCS ref and adds pytest-benchmark/asyncio config. |
images/logo-light.svg | Updates/rewrites the light logo SVG. |
images/logo-dark.svg | Updates/rewrites the dark logo SVG. |
grinder/management/commands/grinder.py | New Django management command that runs the executor and handles signals. |
grinder/executor.py | New multiprocessing/threaded task executor implementation. |
grinder/backends.py | New abstract backend interface (AcknowledgeableTaskBackend). |
grinder/__init__.py | Exports __all__. |
CONTRIBUTING.md | Adds contributing/testing guidance. |
.pre-commit-config.yaml | Excludes .github/agents/ from mdformat hook. |
.gitignore | Ignores pytest-benchmark output directory. |
.github/workflows/release.yml | Updates release build steps to use uv tooling and renames build job. |
.github/workflows/ci.yml | Runs pytest with benchmarks excluded in CI matrix. |
.github/copilot-instructions.md | Adds pointer to CONTRIBUTING.md. |
.github/agents/superjoe.agent.md | Minor formatting cleanup. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
No description provided.