Skip to content

Executor#4

Merged
codingjoe merged 27 commits into
mainfrom
executor
May 5, 2026
Merged

Executor#4
codingjoe merged 27 commits into
mainfrom
executor

Conversation

@codingjoe
Copy link
Copy Markdown
Owner

No description provided.

@codingjoe codingjoe marked this pull request as ready for review May 4, 2026 16:16
Copilot AI review requested due to automatic review settings May 4, 2026 16:16
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 TaskExecutor and a new grinder management 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.

Comment thread threadmill/management/commands/threadmill.py Outdated
Comment thread threadmill/management/commands/threadmill.py Outdated
Comment thread threadmill/management/commands/threadmill.py Outdated
Comment thread threadmill/management/commands/threadmill.py Outdated
Comment thread threadmill/management/commands/threadmill.py Outdated
Comment thread tests/testapp/tasks.py
Comment thread tests/test_command.py Outdated
Comment thread tests/test_backends.py Outdated
Comment thread README.md Outdated
Comment thread pyproject.toml
@codingjoe codingjoe merged commit d8e2dc1 into main May 5, 2026
7 checks passed
@codingjoe codingjoe deleted the executor branch May 5, 2026 10:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants