Best Python code snippet using autotest_python
monitor_db.py
Source:monitor_db.py  
...388        _drone_manager.execute_actions()389        _drone_manager.reinitialize_drones()390    def _create_recovery_agent_tasks(self):391        return (self._get_queue_entry_agent_tasks()392                + self._get_special_task_agent_tasks(is_active=True))393    def _get_queue_entry_agent_tasks(self):394        """395        Get agent tasks for all hqe in the specified states.396        Loosely this translates to taking a hqe in one of the specified states,397        say parsing, and getting an AgentTask for it, like the FinalReparseTask,398        through _get_agent_task_for_queue_entry. Each queue entry can only have399        one agent task at a time, but there might be multiple queue entries in400        the group.401        @return: A list of AgentTasks.402        """403        # host queue entry statuses handled directly by AgentTasks (Verifying is404        # handled through SpecialTasks, so is not listed here)405        statuses = (models.HostQueueEntry.Status.STARTING,406                    models.HostQueueEntry.Status.RUNNING,407                    models.HostQueueEntry.Status.GATHERING,408                    models.HostQueueEntry.Status.PARSING,409                    models.HostQueueEntry.Status.ARCHIVING)410        status_list = ','.join("'%s'" % status for status in statuses)411        queue_entries = scheduler_models.HostQueueEntry.fetch(412                where='status IN (%s)' % status_list)413        autotest_stats.Gauge('scheduler.jobs_per_tick').send(414                'running', len(queue_entries))415        agent_tasks = []416        used_queue_entries = set()417        for entry in queue_entries:418            if self.get_agents_for_entry(entry):419                # already being handled420                continue421            if entry in used_queue_entries:422                # already picked up by a synchronous job423                continue424            agent_task = self._get_agent_task_for_queue_entry(entry)425            agent_tasks.append(agent_task)426            used_queue_entries.update(agent_task.queue_entries)427        return agent_tasks428    def _get_special_task_agent_tasks(self, is_active=False):429        special_tasks = models.SpecialTask.objects.filter(430                is_active=is_active, is_complete=False)431        return [self._get_agent_task_for_special_task(task)432                for task in special_tasks]433    def _get_agent_task_for_queue_entry(self, queue_entry):434        """435        Construct an AgentTask instance for the given active HostQueueEntry.436        @param queue_entry: a HostQueueEntry437        @return: an AgentTask to run the queue entry438        """439        task_entries = queue_entry.job.get_group_entries(queue_entry)440        self._check_for_duplicate_host_entries(task_entries)441        if queue_entry.status in (models.HostQueueEntry.Status.STARTING,442                                  models.HostQueueEntry.Status.RUNNING):...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
