Skip to content

Commit 7f0130f

Browse files
committed
add event models, modify job and job def models
1 parent b897aa5 commit 7f0130f

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

jupyter_scheduler/models.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,17 @@
1111
SCHEDULE_RE = ""
1212

1313

14+
class EventType(BaseModel):
15+
event_type: str
16+
parameters: Dict[str, str]
17+
18+
19+
class Event(BaseModel):
20+
event_id: str
21+
event_type: str
22+
parameters: Dict[str, str]
23+
24+
1425
class RuntimeEnvironment(BaseModel):
1526
"""Defines a runtime context where job
1627
execution will happen. For example, conda
@@ -26,6 +37,7 @@ class RuntimeEnvironment(BaseModel):
2637
compute_types: Optional[List[str]]
2738
default_compute_type: Optional[str] # Should be a member of the compute_types list
2839
utc_only: Optional[bool]
40+
event_types: Optional[List[EventType]]
2941

3042
def __str__(self):
3143
return self.json()
@@ -85,6 +97,7 @@ class CreateJob(BaseModel):
8597
name: str
8698
output_filename_template: Optional[str] = OUTPUT_FILENAME_TEMPLATE
8799
compute_type: Optional[str] = None
100+
triggered_by: Optional[Event] = None
88101

89102
@root_validator
90103
def compute_input_filename(cls, values) -> Dict:
@@ -145,6 +158,7 @@ class DescribeJob(BaseModel):
145158
status: Status = Status.CREATED
146159
status_message: Optional[str] = None
147160
downloaded: bool = False
161+
triggered_by: Optional[Event] = None
148162

149163
class Config:
150164
orm_mode = True
@@ -209,6 +223,7 @@ class CreateJobDefinition(BaseModel):
209223
compute_type: Optional[str] = None
210224
schedule: Optional[str] = None
211225
timezone: Optional[str] = None
226+
on_events: List[str] = None
212227

213228
@root_validator
214229
def compute_input_filename(cls, values) -> Dict:
@@ -234,6 +249,7 @@ class DescribeJobDefinition(BaseModel):
234249
create_time: int
235250
update_time: int
236251
active: bool
252+
on_events: List[str] = None
237253

238254
class Config:
239255
orm_mode = True
@@ -253,6 +269,7 @@ class UpdateJobDefinition(BaseModel):
253269
active: Optional[bool] = None
254270
compute_type: Optional[str] = None
255271
input_uri: Optional[str] = None
272+
on_events: List[str] = None
256273

257274

258275
class ListJobDefinitionsQuery(BaseModel):
@@ -289,3 +306,8 @@ class JobFeature(str, Enum):
289306
output_filename_template = "output_filename_template"
290307
stop_job = "stop_job"
291308
delete_job = "delete_job"
309+
310+
class Event(BaseModel):
311+
event_id: str
312+
event_type: str
313+
parameters: Dict[str, str]

0 commit comments

Comments
 (0)