def snapshot_proceed(self):
    self.log.info("Initiating snapshot proceed")
    # Check that the fork()ed controller is ready
    self.log.debug("Checking READY")
    # N.B. snapshot_socket is blocking
    response = self.snapshot_socket.recv(100)
    match = re.match(r"READY (?P<pid>\d+)", response)
    if not match:
      raise ValueError("Unknown response %s" % response)
    pid = int(match.group('pid'))

    # De-registers the old controller process and registers the new controller
    # process.
    self._unregister_proc(self.process)
    self.process = SnapshotPopen(pid)
    self._register_proc(self.process)

    # Send PROCEED
    self.log.debug("Sending PROCEED")
    self.snapshot_socket.send("PROCEED")

    # Reconnect
    self.log.debug("Connecting new mux socket")
    true_socket = connect_socket_with_backoff(address=self.config.address,
                                              port=self.config.port)
    true_socket.setblocking(0)
    self.log.debug("Finished snapshot proceed")
    return true_socket
This method is used within urls.py to create unique wizardview
dataset/ETHPy150Open ucb-sts/sts/sts/entities/controllers.py/Controller.snapshot_proceed--crossover with--dataset/ETHPy150Open AppScale/appscale/AppServer/lib/django-1.5/django/contrib/formtools/wizard/views.py/WizardView.as_view