-
Notifications
You must be signed in to change notification settings - Fork 4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: remove custom startup to fix dev reloading
The cms/startup.py and lms/startup.py files were created to allow us to do a lot of custom initialization around things like the ModuleStore, monkey-patching, adding MIME types to our process, etc. As far back as 2017, we recognized that this was a bad thing, marked these modules as "deprecated", and started removing things or putting them in the standard Django locations for them (0279181). In its current state, these startup modules no longer do any custom work, and just invoke django.startup(). But this is meant for running Django code in "standalone" usage, e.g. if you have a script that isn't a management command but needs some Django functionality. The "runserver" command used during development normally launches a child process to serve requests and knows how to kill and respawn that process when files are modified, so that changes are reflected. It can also normally handle the case where there's a SyntaxError in the child process, and fixing that error will reload the code again. Something about running django.startup() manually interferes with this functionality in "runserver". It still reloads the code in response to changes, but if the code gets into a broken state for any reason (like a syntax error), the master process itself dies. That causes the container to restart, only to die again shortly afterwards in a loop until the error is fixed. The container restarts will break any shell you had opened into the container, as well as any IDE integrations that connected to that container to access the files and Python instance. Getting rid of the custom startup code fixes this and moves us one small step closer to being a more normal Django project.
- Loading branch information
Showing
7 changed files
with
0 additions
and
66 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters