code: def update_job_status(self, checker_func):
          
          njobs = len(self.cache.keys())
          status_vect = np.zeros((8), int)
          sys.stdout.write("Updating status of %i jobs: " % njobs)
          sys.stdout.flush()
          for i, key in enumerate(self.cache.keys()):
              if i % 200 == 0:
                  sys.stdout.write('.')
                  sys.stdout.flush()
              job_details = self.cache[key]
              if job_details.status in [JobStatus.pending, JobStatus.running]:
                  if checker_func:
                      job_details.check_status_logfile(checker_func)
              job_details.update_table_row(self._table, job_details.dbkey - 1)
              status_vect[job_details.status] += 1
  
          sys.stdout.write("!\n")
          sys.stdout.flush()
          sys.stdout.write("Summary:\n")
          sys.stdout.write("  Unknown:   %i\n" % status_vect[JobStatus.unknown])
          sys.stdout.write("  Not Ready: %i\n" %
                           status_vect[JobStatus.not_ready])
          sys.stdout.write("  Ready:     %i\n" % status_vect[JobStatus.ready])
          sys.stdout.write("  Pending:   %i\n" % status_vect[JobStatus.pending])
          sys.stdout.write("  Running:   %i\n" % status_vect[JobStatus.running])
          sys.stdout.write("  Done:      %i\n" % status_vect[JobStatus.done])
          sys.stdout.write("  Failed:    %i\n" % status_vect[JobStatus.failed])
          sys.stdout.write("  Partial:   %i\n" %
                           status_vect[JobStatus.partial_failed])
docs: Update the status of all the jobs in the archive