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. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.