<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def reload(self, reload_timeout=300, save_config=True, no_reload_cmd=False):
 """Reload the device and wait for device to boot up. Returns False if reload was not successful. """

        begin = time.time()
        self._chain.target_device.clear_info()
        result = False
        try:
            result = self._chain.target_device.reload(reload_timeout, save_config, no_reload_cmd)

        except ConnectionStandbyConsole as exc:
            message = exc.message
            self.log("Active RP became standby: {}".format(message))
            self.disconnect()
            # self._conn_status.clear()
            result = self.reconnect()

        # connection error caused by device booting up
        except ConnectionError as exc:
            message = exc.message
            self.log("Connection error: {}".format(message))
            self.disconnect()
            result = self.reconnect()

        if result:
            elapsed = time.time() - begin
            self.emit_message("Target device reload last {:.0f}s.".format(elapsed), log_level=logging.INFO)
        else:
            self.emit_message("Target device not reloaded.", log_level=logging.ERROR)
        return result