Most applications should not access this module directly. Instead,
pass the keyword argument autoreload=True to the
tornado.web.Application constructor (or debug=True, which
enables this setting and several others). This will enable autoreload
mode as well as checking for changes to templates and static
resources. Note that restarting is a destructive operation and any
requests in progress will be aborted when the process restarts. (If
you want to disable autoreload while using other debug-mode features,
pass both debug=True and autoreload=False).

This module can also be used as a command-line wrapper around scripts
such as unit test runners. See the main method for details.

The command-line wrapper and Application debug modes can be used together.
This combination is encouraged as the wrapper catches syntax errors and
other import-time failures, while debug mode catches changes once
the server has started.

This module depends on IOLoop, so it will not work in WSGI applications
and Google App Engine. It also will not work correctly when HTTPServer‘s
multi-process mode is used.

Running a script with this wrapper is similar to calling
tornado.autoreload.wait at the end of the script, but this wrapper
can catch import-time problems like syntax errors that would otherwise
prevent the script from reaching its call to wait.