code: def _check_link_completion(self, link, fail_pending=False, fail_running=False):
          
  
          status_vect = JobStatusVector()
          for job_key, job_details in link.jobs.items():
              # if job_details.status == JobStatus.failed:
              #    failed = True
              #    continue
              # elif job_details.status == JobStatus.done:
              #    continue
              if job_key.find(JobDetails.topkey) >= 0:
                  continue
              job_details.status = self._interface.check_job(job_details)
              if job_details.status == JobStatus.pending:
                  if fail_pending:
                      job_details.status = JobStatus.failed
              elif job_details.status == JobStatus.running:
                  if fail_running:
                      job_details.status = JobStatus.failed
              status_vect[job_details.status] += 1
              link.jobs[job_key] = job_details
              link._set_status_self(job_details.jobkey, job_details.status)
  
          return status_vect
docs: Internal function to check the completion of all the dispatched jobs
  
          Returns
          -------
  
          status_vect : `JobStatusVector`
              Vector that summarize the number of jobs in various states.