Opened 6 years ago
Last modified 6 years ago
#30479 closed Bug
Auto-reloading with StatReloader may not track changes to the main entrypoint? — at Initial Version
| Reported by: | Keryn Knight | Owned by: | nobody |
|---|---|---|---|
| Component: | Utilities | Version: | 2.2 |
| Severity: | Release blocker | Keywords: | autoreload |
| Cc: | Tom Forbes | Triage Stage: | Accepted |
| Has patch: | yes | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
This is a bit convoluted, but here we go.
Environment (OSX 10.11):
$ python -V Python 3.6.2 $ pip -V pip 19.1.1 $ pip install Django==2.2.1 django-microscope==0.1.1 Requirement already satisfied: Django==2.2.1 in ./lib/python3.6/site-packages (2.2.1) Requirement already satisfied: django-microscope==0.1.1 in ./lib/python3.6/site-packages (0.1.1) Requirement already satisfied: sqlparse in ./lib/python3.6/site-packages (from Django==2.2.1) (0.3.0) Requirement already satisfied: pytz in ./lib/python3.6/site-packages (from Django==2.2.1) (2019.1) Requirement already satisfied: django-environ>=0.4.4 in ./lib/python3.6/site-packages (from django-microscope==0.1.1) (0.4.5)
Create a file, manage.py:
# -*- coding: utf-8 -*-
from __future__ import unicode_literals, absolute_import
from microscope import run, routes
@routes.path("")
def index(request, *, x=None):
return None
application = run(
DEBUG=True,
INSTALLED_APPS=(),
ROOT_URLCONF=routes,
ALLOWED_HOSTS=["127.0.0.1"],
LOGGING={
"version": 1,
"disable_existing_loggers": False,
"handlers": {"console": {"class": "logging.StreamHandler"}},
"loggers": {
"django.utils.autoreload": {
"handlers": ["console"],
"level": "DEBUG",
"propagate": True,
}
},
},
)
Then do:
$ python manage.py runserver 127.0.0.1:8080
and it should boot like normal. So far so good.
Steps to reproduce:
- Edit
the manage.pyfile. Just change theALLOWED_IPSsetting or whatever.
Under 2.1.8 (and prior), this will trigger the auto-reloading mechanism. Under 2.2.1, it won't. As far as I can tell from the django.utils.autoreload log lines, it never sees the manage.py itself.
Note:
See TracTickets
for help on using tickets.