Skip to content

Commit 222df31

Browse files
committed
add packaged_files to JobDefinition and DescribeJobDefinition model
1 parent 17c44cc commit 222df31

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

jupyter_scheduler/models.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,7 @@ class DescribeJobDefinition(BaseModel):
239239
update_time: int
240240
active: bool
241241
package_input_folder: Optional[bool] = None
242+
packaged_files: Optional[List[str]] = []
242243

243244
class Config:
244245
orm_mode = True

jupyter_scheduler/scheduler.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -618,15 +618,22 @@ def create_job_definition(self, model: CreateJobDefinition) -> str:
618618
session.add(job_definition)
619619
session.commit()
620620

621+
# copy values for use after session is closed to avoid DetachedInstanceError
621622
job_definition_id = job_definition.job_definition_id
623+
job_definition_schedule = job_definition.schedule
622624

623625
staging_paths = self.get_staging_paths(DescribeJobDefinition.from_orm(job_definition))
624626
if model.package_input_folder:
625-
self.copy_input_folder(model.input_uri, staging_paths["input"])
627+
copied_files = self.copy_input_folder(model.input_uri, staging_paths["input"])
628+
input_notebook_filename = os.path.basename(model.input_uri)
629+
job_definition.packaged_files = [
630+
file for file in copied_files if file != input_notebook_filename
631+
]
632+
session.commit()
626633
else:
627634
self.copy_input_file(model.input_uri, staging_paths["input"])
628635

629-
if self.task_runner and job_definition.schedule:
636+
if self.task_runner and job_definition_schedule:
630637
self.task_runner.add_job_definition(job_definition_id)
631638

632639
return job_definition_id

0 commit comments

Comments
 (0)