-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Hook Prioritization #11878
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Hook Prioritization #11878
Conversation
Thank you for your pull request! We could not find a changelog entry for this change. For details on how to document a change, see the contributing guide. |
Thanks for your pull request, and welcome to our community! We require contributors to sign our Contributor License Agreement and we don't seem to have your signature on file. Check out this article for more information on why we have a CLA. In order for us to review and merge your code, please submit the Individual Contributor License Agreement form attached above above. If you have questions about the CLA, or if you believe you've received this message in error, please reach out through a comment on this PR. CLA has not been signed by users: @ammarchalifah-bolt |
CLA signed |
Additional Artifact Review RequiredChanges to artifact directory files requires at least 2 approvals from core team members. |
Resolves #10592
Managing execution order of hooks by passing a priority number.
Problem
Currently hook excution order is not configurable. The only order of execution applied is:
This creates a massive limitation to expand dbt's capabilities by defining custom hooks or packages that rely on hook execution.
Solution
Implement a
priority
number for each hook node. This priority is used to order execution of hooks.To ensure backwards compatibility, dbt would still accept the existing hook definition, but also supports a more verbose definition
Default priority is 50, default priority of active project is 100. Lower number means higher priority.
Checklist