prebid-server
prebid-server copied to clipboard
Modules and execution plans
Having more modules is great, but we've found that execution plans are more difficult to manage than they could be.
- They're quite powerful, but complicated.
- They're not merged like most other configs - if they exist at both the host level and the account level, the module is run twice.
- There's no guidance to host companies on how to determine where to put the execution plan.
- Not all modules support an "enabled" flag to skip the module for accounts that haven't turned it on
So we'd like to propose the following:
- A general recommendation that modules execution plans are defined at the host level. No code changes -- just guidance.
- Every module needs to support an enabled flag in its config so that when the module is called on every request. The idea is that modules need to return as quickly as possible when it's not enabled.
- Documentation should be updated to reflect these guidelines
We discussed having core be aware of the enabled flag, but currently the module config is opaque to PBS-core. It could cause duplicate parsing of config JSON. It would be an upgrade of the module infrastructure to support a core-visible enabled flag.
PBS-Go reads the module config from the merged config, looking for an enabled flag.
We agreed to consider this offline and continue the discussion in this issue.