Best Python code snippet using autotest_python
monitor_db.py
Source:monitor_db.py
...541 if not queue_entries:542 return []543 self._host_scheduler.refresh(queue_entries)544 return queue_entries545 def _schedule_atomic_group(self, queue_entry):546 """547 Schedule the given queue_entry on an atomic group of hosts.548 Returns immediately if there are insufficient available hosts.549 Creates new HostQueueEntries based off of queue_entry for the550 scheduled hosts and starts them all running.551 """552 # This is a virtual host queue entry representing an entire553 # atomic group, find a group and schedule their hosts.554 group_hosts = self._host_scheduler.find_eligible_atomic_group(555 queue_entry)556 if not group_hosts:557 return558 logging.info('Expanding atomic group entry %s with hosts %s',559 queue_entry,560 ', '.join(host.hostname for host in group_hosts))561 for assigned_host in group_hosts[1:]:562 # Create a new HQE for every additional assigned_host.563 new_hqe = scheduler_models.HostQueueEntry.clone(queue_entry)564 new_hqe.save()565 new_hqe.set_host(assigned_host)566 self._run_queue_entry(new_hqe)567 # The first assigned host uses the original HostQueueEntry568 queue_entry.set_host(group_hosts[0])569 self._run_queue_entry(queue_entry)570 def _schedule_hostless_job(self, queue_entry):571 self.add_agent_task(HostlessQueueTask(queue_entry))572 queue_entry.set_status(models.HostQueueEntry.Status.STARTING)573 def _schedule_new_jobs(self):574 queue_entries = self._refresh_pending_queue_entries()575 if not queue_entries:576 return577 for queue_entry in queue_entries:578 is_unassigned_atomic_group = (579 queue_entry.atomic_group_id is not None and580 queue_entry.host_id is None)581 if queue_entry.is_hostless():582 self._schedule_hostless_job(queue_entry)583 elif is_unassigned_atomic_group:584 self._schedule_atomic_group(queue_entry)585 else:586 assigned_host = self._host_scheduler.schedule_entry(queue_entry)587 if assigned_host and not self.host_has_agent(assigned_host):588 assert assigned_host.id == queue_entry.host_id589 self._run_queue_entry(queue_entry)590 def _schedule_running_host_queue_entries(self):591 for agent_task in self._get_queue_entry_agent_tasks():592 self.add_agent_task(agent_task)593 def _schedule_delay_tasks(self):594 for entry in scheduler_models.HostQueueEntry.fetch(595 where='status = "%s"' % models.HostQueueEntry.Status.WAITING):596 task = entry.job.schedule_delayed_callback_task(entry)597 if task:598 self.add_agent_task(task)...
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!!