Skip to content

Commit 5ce4a22

Browse files
airhornsclaude
andcommitted
Feature: Run audits concurrently using concurrent_tasks setting
When audit_only=True, all audit tasks across all snapshots are flattened into a single thread pool instead of following DAG ordering. Since audits are read-only SELECT queries with no side effects, DAG dependencies are irrelevant and all concurrent_tasks worker slots stay filled. Per-model audit concurrency is also plumbed through SnapshotEvaluator.audit() via a new audit_concurrent_tasks parameter (defaults to sequential). The cross-model path hardcodes this to 1 to avoid nested thread pool multiplication. The SnapshotEvaluator parameter ddl_concurrent_tasks is renamed to concurrent_tasks to reflect its broader scope. Closes #5468 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent cea8418 commit 5ce4a22

File tree

5 files changed

+985
-135
lines changed

5 files changed

+985
-135
lines changed

sqlmesh/core/context.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -492,7 +492,7 @@ def snapshot_evaluator(self) -> SnapshotEvaluator:
492492
gateway: adapter.with_settings(execute_log_level=logging.INFO)
493493
for gateway, adapter in self.engine_adapters.items()
494494
},
495-
ddl_concurrent_tasks=self.concurrent_tasks,
495+
concurrent_tasks=self.concurrent_tasks,
496496
selected_gateway=self.selected_gateway,
497497
)
498498
return self._snapshot_evaluator

0 commit comments

Comments
 (0)