Core: Add argument to make module optional in load_module in config #914
+52
−15
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added optional "optional" argument to load_module directive. If the argument is provided then failing to load the module will only emit a warning and not hinder nginx from starting. The existing behavior remains unchanged if "optional" is not provided.
Proposed changes
This change adds the ability to mark modules as optional in the configuration file. Failing to load an optional module does not hinder nginx from starting.
The motivation behind this change is for issues with non essential modules to not prevent nginx from working. For example modules that only collect data.
A warning message is logged if an optional module could not be loaded. Also added an error message if a core module's "create_conf" call fails for modules specified via load_module.
Usage
load_module module [optional];