def build_job_from_json(cls, job_id, job_batch_num, job_content): job = Job(job_id, job_batch_num, f"job-{job_id}-{job_batch_num}") for v in job_content.values(): prev_task_ids = v.pop("prev_task_ids") v["job_id"] = job_id v["job_batch_num"] = job_batch_num t = Task(**v) t.replace_vars(job.global_vars()) if prev_task_ids: for i in prev_task_ids: t.add_prev_id(i) job.add_task(task=t) return job