djangodjango-command-extensions

Reusing django code auto-reload functionality for custom management commands


I love how django server auto-reloads itself on code change, so that no restarting the server is required.

We currently use django custom management commands that may take a very long time to complete.

Is there any way we can use the auto-reloading feature of the django server for our management command?

For example, if the change of the underlying django codebase is detected, the command reloads itself and resumes execution of the very long (stateless) loop.


Solution

  • Checkout the way runserver (specifically the run method) does it with the django.utils.autoreload module. You'll want to copy this pattern with your custom command.