def _build_execution(self, row): """Return job execution info from a row of scheduler_execution table. :param obj row: A row instance of scheduler_execution table. :return: A dictionary of job execution info. :rtype: dict """ # To avoid circular import return_json = { 'execution_id': row.eid, 'state': constants.EXECUTION_STATUS_DICT[row.state], 'hostname': row.hostname, 'pid': row.pid, 'task_id': row.task_id, 'description': row.description, 'scheduled_time': self.get_time_isoformat_from_db(row.scheduled_time), 'updated_time': self.get_time_isoformat_from_db(row.updated_time) } job = self.lookup_job(row.job_id) if job: return_json['job'] = { 'job_id': job.id, 'name': job.name, 'task_name': utils.get_job_name(job), 'pub_args': utils.get_job_args(job) } return_json['job'].update(utils.get_cron_strings(job)) return return_json
def _build_execution(self, row): """Return job execution info from a row of scheduler_execution table. :param obj row: A row instance of scheduler_execution table. :return: A dictionary of job execution info. :rtype: dict """ # To avoid circular import return_json = { 'execution_id': row.eid, 'state': constants.EXECUTION_STATUS_DICT[row.state], 'hostname': row.hostname, 'pid': row.pid, 'task_id': row.task_id, 'description': row.description, 'scheduled_time': self.get_time_isoformat_from_db(row.scheduled_time), 'updated_time': self.get_time_isoformat_from_db(row.updated_time)} job = self.lookup_job(row.job_id) if job: return_json['job'] = { 'job_id': job.id, 'name': job.name, 'task_name': utils.get_job_name(job), 'pub_args': utils.get_job_args(job)} return_json['job'].update(utils.get_cron_strings(job)) return return_json
def _build_job_dict(self, job): """Transforms apscheduler's job structure to a python dictionary. :param Job job: An apscheduler.job.Job instance. :return: dictionary for job info :rtype: dict """ if job.next_run_time: next_run_time = job.next_run_time.isoformat() else: next_run_time = '' return_dict = { 'job_id': job.id, 'name': job.name, 'next_run_time': next_run_time, 'job_class_string': utils.get_job_name(job), 'pub_args': utils.get_job_args(job)} return_dict.update(utils.get_cron_strings(job)) return return_dict
def _build_job_dict(self, job): """Transforms apscheduler's job structure to a python dictionary. :param Job job: An apscheduler.job.Job instance. :return: dictionary for job info :rtype: dict """ if job.next_run_time: next_run_time = job.next_run_time.isoformat() else: next_run_time = "" return_dict = { "job_id": job.id, "name": job.name, "next_run_time": next_run_time, "job_class_string": utils.get_job_name(job), "pub_args": utils.get_job_args(job), } return_dict.update(utils.get_job_kwargs(job)) return_dict.update(utils.get_cron_strings(job)) return return_dict