Beispiel #1
0
    def scan(self):
        '''
        scan the queues and create pairs of vehicle--event
        '''
        # reload work, reload when get device signal
        # for vehicle in self._vehicles.getIdleAndEmptyVehicles():
        #     TaskManager.createReloadTask(vehicle)

        for vehicle in self._vehicles.getIdleAndFullVehicles():
            TaskManager.createDropTask(vehicle)

        # normal work
        for queue in self._queues:
            # no event
            if len(queue) == 0:
                continue

            # check event nearby vehicle TODO

            #
            evt = queue[0]
            vehicle = self._vehicles.getAvailableVehicleByEvent(evt)

            # no available vehicle
            if None == vehicle:
                continue

            queue.popleft()
            TaskManager.createNormalTask(evt, vehicle)