-
Disable app preload in gunicorn for LMS & Studio. · 30b924d5
Since the earliest days of edX, we've run gunicorn with preload_app as True. This was primarily because the first handful of courses were using the XMLModuleStore, which was extremely slow to initialize because it had to read entire courses from disk and load them into memory at startup. XMLModuleStore courses stopped being created with the introduction of Studio, and we've long since removed them from edx.org. Note: This should not be confused with importing courses that are authored in XML. XMLModuleStore courses are courses who use the disk instead of Mongo for content persistence, and require a server restart for content edits to show. This commit sets things back to how Django is more commonly deployed with gunicorn. It will make server startup time somewhat more expensive because each worker process does init work, but it should make it easier to safely enable features like database connection pooling without having to worry about shared resources. [PERF-305]
David Ormsbee committed