Exemplo n.º 1
0
    def stop(self):
        if self.isAlive():
            self._Thread__stop()

        t0 = time.time()
        self.im.kill_all_apps()
        while self.im.has_running_instances():
            if time.time() - t0 > 20:
                print "Still running instances after 20 seconds, exiting anyway ..."
                break

            tokens = self.im.get_exited_instances()
            for token in tokens:
                self.vchannel.Write(OvdAppChannel.build_packet_ORDER_STOPPED(token))

            if self.im.has_running_instances():
                self.im.kill_all_apps()
                time.sleep(1)
Exemplo n.º 2
0
    def stop(self):
        if self.isAlive():
            self._Thread__stop()

        t0 = time.time()
        self.im.kill_all_apps()
        while self.im.has_running_instances():
            if time.time() - t0 > 20:
                print "Still running instances after 20 seconds, exiting anyway ..."
                break

            tokens = self.im.get_exited_instances()
            for token in tokens:
                self.vchannel.Write(
                    OvdAppChannel.build_packet_ORDER_STOPPED(token))

            if self.im.has_running_instances():
                self.im.kill_all_apps()
                time.sleep(1)
Exemplo n.º 3
0
                elif order == OvdAppChannel.ORDER_START_WITH_ARGS:
                    (token, app, dir_type, share, local_path) = job[1:6]

                    if not self.im.start_app_with_arg(token, app, dir_type, local_path, share):
                        self.vchannel.Write(OvdAppChannel.build_packet_ORDER_CANT_START(token))
                        continue

                    self.vchannel.Write(OvdAppChannel.build_packet_ORDER_STARTED(app, token))

                elif order == OvdAppChannel.ORDER_STOP:
                    token = job[1]

                    if not self.im.stop_app(token):
                        continue

                    self.vchannel.Write(OvdAppChannel.build_packet_ORDER_STOPPED(token))

            tokens = self.im.get_exited_instances()
            if tokens is not None:
                for token in tokens:
                    self.vchannel.Write(OvdAppChannel.build_packet_ORDER_STOPPED(token))

            if job is None and len(tokens) == 0:
                time.sleep(0.1)

            t1 = time.time()
            t_init += t1 - t0
            if t_init > 5:
                # We send channel init time to time to manage the reconnection
                self.vchannel.Write(OvdAppChannel.getInitPacket())
Exemplo n.º 4
0
                                                      local_path, share):
                        self.vchannel.Write(
                            OvdAppChannel.build_packet_ORDER_CANT_START(token))
                        continue

                    self.vchannel.Write(
                        OvdAppChannel.build_packet_ORDER_STARTED(app, token))

                elif order == OvdAppChannel.ORDER_STOP:
                    token = job[1]

                    if not self.im.stop_app(token):
                        continue

                    self.vchannel.Write(
                        OvdAppChannel.build_packet_ORDER_STOPPED(token))

            tokens = self.im.get_exited_instances()
            if tokens is not None:
                for token in tokens:
                    self.vchannel.Write(
                        OvdAppChannel.build_packet_ORDER_STOPPED(token))

            if job is None and len(tokens) == 0:
                time.sleep(0.1)

            t1 = time.time()
            t_init += (t1 - t0)
            if t_init > 5:
                # We send channel init time to time to manage the reconnection
                self.vchannel.Write(OvdAppChannel.getInitPacket())