code: def _process_state_in_progress(self, job_record):
          
          def _process_state(target_state, uow):
              if uow.is_active:
                  # Large Job processing takes more than 1 tick of the Scheduler
                  # Let the Job processing complete - do no updates to Scheduler records
                  pass
              elif uow.is_finished:
                  # create new UOW to cover new inserts
                  new_uow, is_duplicate = self.insert_and_publish_uow(job_record, 0, int(uow.end_id) + 1)
                  self.update_job(job_record, new_uow, target_state)
  
          uow = self.uow_dao.get_one(job_record.related_unit_of_work)
          try:
              target_state = self._compute_next_job_state(job_record)
              _process_state(target_state, uow)
          except ValueError:
              # do no processing for the future timeperiods
              pass
docs: method that takes care of processing job records in STATE_IN_PROGRESS state