Skip to content

feat(scheduling): pluggable task executor (asyncio|thread) (v26.06.67)#94

Merged
ancongui merged 1 commit into
mainfrom
feat/task-executor-wiring
Jun 7, 2026
Merged

feat(scheduling): pluggable task executor (asyncio|thread) (v26.06.67)#94
ancongui merged 1 commit into
mainfrom
feat/task-executor-wiring

Conversation

@ancongui
Copy link
Copy Markdown
Contributor

@ancongui ancongui commented Jun 7, 2026

Audit fix (weak default): ThreadPoolTaskExecutor existed and was tested but was never auto-wiredSchedulingAutoConfiguration.task_scheduler hardcoded AsyncIOTaskExecutor. Now the executor is selectable via pyfly.scheduling.executor.type (asyncio default, or thread with pyfly.scheduling.executor.max-workers, default 4), mirroring the distributed-lock provider switch. Tests (3). Gates: mypy --strict (632), ruff+format, full suite green.

….06.67

The ports/adapters audit found ThreadPoolTaskExecutor existed + was tested but was NEVER auto-wired
(SchedulingAutoConfiguration.task_scheduler hardcoded AsyncIOTaskExecutor). Added a config selector
mirroring the lock bean: pyfly.scheduling.executor.type=asyncio|thread + executor.max-workers (4).

Tests: tests/scheduling/test_executor_selection.py (3). Gates: mypy --strict (632), ruff + format,
full suite green.
@ancongui ancongui merged commit 5b162e7 into main Jun 7, 2026
5 checks passed
@ancongui ancongui deleted the feat/task-executor-wiring branch June 7, 2026 18:46
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.

1 participant