Bert JW Regeer
2015-11-13 dcb01c04929aa8afb065b397f36db5982afc4834
Merge branch 'master' into feature/int_conversion_check
2 files modified
56 ■■■■ changed files
CHANGES.txt 15 ●●●● patch | view | raw | blame | history
pyramid/scripts/pserve.py 41 ●●●● patch | view | raw | blame | history
CHANGES.txt
@@ -237,12 +237,20 @@
  ``timeout``, ``reissue_time``, ``max_age`` that expect an integer value.
  See https://github.com/Pylons/pyramid/pull/2050
- Fixed usage of ``pserve --monitor-restart --daemon`` which would fail in
  horrible ways. See https://github.com/Pylons/pyramid/pull/2118
- Explicitly prevent ``pserve --reload --daemon`` from being used. It's never
  been supported but would work and fail in weird ways.
  See https://github.com/Pylons/pyramid/pull/2119
Deprecations
------------
- The ``pserve`` command's daemonization features have been deprecated. This
  includes the ``[start,stop,restart,status]`` subcommands as well as the
  ``--daemon``, ``--stop-server``, ``--pid-file``, and ``--status`` flags.
- The ``pserve`` command's daemonization features have been deprecated as well
  as ``--monitor-restart``. This includes the ``[start,stop,restart,status]``
  subcommands as well as the ``--daemon``, ``--stop-daemon``, ``--pid-file``,
  and ``--status`` flags.
  Please use a real process manager in the future instead of relying on the
  ``pserve`` to daemonize itself. Many options exist including your Operating
@@ -250,6 +258,7 @@
  solutions like Circus and Supervisor.
  See https://github.com/Pylons/pyramid/pull/1641
  and https://github.com/Pylons/pyramid/pull/2120
- Renamed the ``principal`` argument to ``pyramid.security.remember()`` to
  ``userid`` in order to clarify its intended purpose.
pyramid/scripts/pserve.py
@@ -69,6 +69,7 @@
    If start/stop/restart is given, then --daemon is implied, and it will
    start (normal operation), stop (--stop-daemon), or do both.
    Note: Daemonization features are deprecated.
    You can also include variable assignments like 'http_port=8080'
    and then use %(http_port)s in your config files.
@@ -100,13 +101,13 @@
            '--daemon',
            dest="daemon",
            action="store_true",
            help="Run in daemon (background) mode")
            help="Run in daemon (background) mode [DEPRECATED]")
    parser.add_option(
        '--pid-file',
        dest='pid_file',
        metavar='FILENAME',
        help=("Save PID to file (default to pyramid.pid if running in "
              "daemon mode)"))
              "daemon mode) [DEPRECATED]"))
    parser.add_option(
        '--log-file',
        dest='log_file',
@@ -127,7 +128,7 @@
        '--monitor-restart',
        dest='monitor_restart',
        action='store_true',
        help="Auto-restart server if it dies")
        help="Auto-restart server if it dies [DEPRECATED]")
    parser.add_option(
        '-b', '--browser',
        dest='browser',
@@ -137,7 +138,8 @@
        '--status',
        action='store_true',
        dest='show_status',
        help="Show the status of the (presumably daemonized) server")
        help=("Show the status of the (presumably daemonized) server "
              "[DEPRECATED]"))
    parser.add_option(
        '-v', '--verbose',
        default=default_verbosity,
@@ -169,7 +171,7 @@
        dest='stop_daemon',
        action='store_true',
        help=('Stop a daemonized server (given a PID file, or default '
              'pyramid.pid file)'))
              'pyramid.pid file) [DEPRECATED]'))
    _scheme_re = re.compile(r'^[a-z][a-z]+:', re.I)
@@ -225,6 +227,10 @@
            cmd = None
        if self.options.reload:
            if self.options.daemon or cmd in ('start', 'stop', 'restart'):
                self.out(
                    'Error: Cannot use reloading while running as a dameon.')
                return 2
            if os.environ.get(self._reloader_environ_key):
                if self.options.verbose > 1:
                    self.out('Running reloading file monitor')
@@ -302,7 +308,21 @@
                raise ValueError(msg)
            writeable_pid_file.close()
        if getattr(self.options, 'daemon', False):
        # warn before forking
        if (
                self.options.monitor_restart and
                not os.environ.get(self._monitor_environ_key)
        ):
            self.out('''\
--monitor-restart has been deprecated in Pyramid 1.6. It will be removed
in a future release per Pyramid's deprecation policy. Please consider using
a real process manager for your processes like Systemd, Circus, or Supervisor.
''')
        if (
            getattr(self.options, 'daemon', False) and
            not os.environ.get(self._monitor_environ_key)
        ):
            self._warn_daemon_deprecated()
            try:
                self.daemonize()
@@ -312,13 +332,16 @@
                return 2
        if (
            not os.environ.get(self._monitor_environ_key) and
            self.options.pid_file
        ):
            self.record_pid(self.options.pid_file)
        if (
                self.options.monitor_restart and
                not os.environ.get(self._monitor_environ_key)
        ):
            return self.restart_with_monitor()
        if self.options.pid_file:
            self.record_pid(self.options.pid_file)
        if self.options.log_file:
            stdout_log = LazyWriter(self.options.log_file, 'a')