This repository has been archived by the owner on May 15, 2024. It is now read-only.
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.
Provide a general summary of your changes in the Title above.
Description
Describe your changes in detail
As tenancies get larger it is slower to start the one-app server. The grand majority of this time (upwards of >70%) is parsing the modules from the module map. This startup can usually be avoided by, instead of destroying the container on runner close, pausing the container for use later when it can be unpaused.
Note that Docker uses "cgroup freezer" functionality for pausing containers/modules. The Linux VM's memory is still taken (the container's memory is not written to disk for later retrieval like a VM's can be) and the ports are still bound. Paused containers are stopped on shutdown so the one-app containers have to be started up again after a reboot.
The one-app server goes to great lengths and pains to avoid out-of-request mutations so modules updating on disk causing side effects that require a restart to change should be minimal/none and any bugs should be fixed for production.
This project only accepts pull requests related to open issues.
If suggesting a new feature or change, please discuss it in an issue first.
Motivation
Why is this change required? What issue does it resolve?
As tenancies get larger it is slower to start the one-app server. The grand majority of this time (upwards of >70%) is parsing the modules from the module map.
Test Conditions
Describe in detail how the changes are tested.
Include details of your testing environment, and the tests you ran to.
How does your change affect the rest of the code.
Types of changes
Check boxes that apply:
Checklist
Check boxes that apply: