code: def _process_state_in_progress(self, job_record):
          
          time_qualifier = context.process_context[job_record.process_name].time_qualifier
          actual_timeperiod = time_helper.actual_timeperiod(time_qualifier)
          is_job_finalizable = self.timetable.is_job_record_finalizable(job_record)
          uow = self.uow_dao.get_one(job_record.related_unit_of_work)
  
          if job_record.timeperiod == actual_timeperiod or is_job_finalizable is False:
              self.__process_non_finalizable_job(job_record, uow)
  
          elif job_record.timeperiod < actual_timeperiod and is_job_finalizable is True:
              self.__process_finalizable_job(job_record, uow)
  
          else:
              msg = 'Job {0} has timeperiod {1} from the future vs current timeperiod {2}' \
                    .format(job_record.db_id, job_record.timeperiod, actual_timeperiod)
              self._log_message(ERROR, job_record.process_name, job_record.timeperiod, msg)
docs: method that takes care of processing job records in STATE_IN_PROGRESS state