Exemplo n.º 1
0
    def run(self):
        if self.use_known_drives:
            self.drives.rebuild()
            self.vchannel.Write(OvdAppChannel.getDrivesMessage(self.drives.getListUID()))

        t_init = 0
        while True:
            t0 = time.time()
            try:
                job = self.jobs.get_nowait()
            except Queue.Empty, e:
                job = None
            except IOError, e:
                if e.errno == 4:
                    break
                else:
                    raise e
Exemplo n.º 2
0
    def run(self):
        if self.use_known_drives:
            self.drives.rebuild()
            self.vchannel.Write(
                OvdAppChannel.getDrivesMessage(self.drives.getListUID()))

        t_init = 0
        while True:
            t0 = time.time()
            try:
                job = self.jobs.get_nowait()
            except Queue.Empty, e:
                job = None
            except IOError, e:
                if e.errno == 4:
                    break
                else:
                    raise e
Exemplo n.º 3
0
            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())

                if self.use_known_drives and self.drives.rebuild():
                    self.vchannel.Write(OvdAppChannel.getDrivesMessage(self.drives.getListUID()))

                t_init = 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()
Exemplo n.º 4
0
                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())

                if self.use_known_drives and self.drives.rebuild():
                    self.vchannel.Write(
                        OvdAppChannel.getDrivesMessage(
                            self.drives.getListUID()))

                t_init = 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()