code: def _update_next_schedule_run(
      self, job_catalog_entry: JobCatalogEntry
  ) -> bool:
      job_end_time = job_catalog_entry.end_time
      active_status = False
      if (
          job_catalog_entry.repeat_interval
          and job_catalog_entry.repeat_interval > 0
      ):
          next_trigger_time = (
              datetime.datetime.now()
              + datetime.timedelta(
                  seconds=job_catalog_entry.repeat_interval
              )
          )
          if not job_end_time or next_trigger_time < job_end_time:
              active_status = True
  
      next_trigger_time = (
          next_trigger_time
          if active_status
          else job_catalog_entry.next_scheduled_run
      )
      self._evadb.catalog().update_job_catalog_entry(
          job_catalog_entry.name,
          next_trigger_time,
          active_status,
      )
      return active_status, next_trigger_time
  
file_path: evadb/evadb/utils/job_scheduler.py
imports: import datetime
  import sys
  import time
  from evadb.catalog.models.utils import JobCatalogEntry
  from evadb.database import EvaDBDatabase
  from evadb.server.command_handler import execute_query
  from evadb.utils.logging_manager import logger
label_desc: Use image node_id 2 for calling the JobScheduler obj's underlying member method code with example usage: obj._update_next_schedule_run(job_catalog_entry) and returns: active_status,  next_trigger_time