Example #1
0
 def get_tasks_status(robot_id):
     tasks_status = collections.OrderedDict()
     with switch_collection(Task, Task.Meta.archive_collection):
         tasks = Task.get_tasks_by_robot(robot_id)
     with switch_collection(TaskStatus, TaskStatus.Meta.archive_collection):
         for task in tasks:
             task_status = TaskStatus.objects.get({"_id": task.task_id})
             if task_status.status == TaskStatusConst.COMPLETED:
                 tasks_status[task.task_id] = task_status
     return tasks_status
Example #2
0
 def run(self):
     try:
         self.api.start()
         while True:
             try:
                 tasks = Task.get_tasks_by_robot(self.robot_id)
                 if self.schedule_execution_monitor.task is None:
                     self.schedule_execution_monitor.process_tasks(tasks)
                 self.executor.run()
             except DoesNotExist:
                 pass
             self.api.run()
     except (KeyboardInterrupt, SystemExit):
         self.logger.info("Terminating %s robot ...", self.robot_id)
         self.api.shutdown()
         self.executor.shutdown()
         self.logger.info("Exiting...")