code: def ready(self, job):
          
          no_deps = len(job.depends_on) == 0
          all_complete = all(j.is_complete() for j in self.active_jobs
                  if j.alias in job.depends_on)
          none_failed = not any(True for j in self.failed
                  if j.alias in job.depends_on)
          queue_is_open = len(self.running) < self.MAX_CONCURRENT_JOBS
          return queue_is_open and (no_deps or (all_complete and none_failed))
docs: Determines if the job is ready to be sumitted to the
          queue. It checks if the job depends on any currently
          running or queued operations.