Main method for the Controller class. Keeps track of how many threads are alive, generates new schedule items and starts running new jobs.
(self)
| 148 | return time.time() - self.time_last_generated > GENERATION_FREQUENCY |
| 149 | |
| 150 | def run(self): |
| 151 | '''Main method for the Controller class. Keeps track of how many threads are alive, |
| 152 | generates new schedule items and starts running new jobs. |
| 153 | ''' |
| 154 | while True: |
| 155 | self.schedule_items = dict([(run_id, thread) for run_id, thread |
| 156 | in self.schedule_items.items() if self.schedule_items[run_id].is_alive()]) |
| 157 | LOG.info('Number of Active Threads: {0}'.format(len(self.schedule_items))) |
| 158 | self.generate_schedule_item() |
| 159 | self.start_new_jobs() |
| 160 | sleep(SLEEP_LENGTH) |
| 161 | |
| 162 | if __name__ == '__main__': |
| 163 | controller = Controller() |