|
4 | 4 | from contextlib import AsyncExitStack |
5 | 5 | from dataclasses import dataclass |
6 | 6 | from datetime import datetime, timedelta |
7 | | -from typing import List, Optional, Union, cast |
| 7 | +from typing import List, Optional, Union |
8 | 8 |
|
9 | 9 | from sqlalchemy import exists, func, select |
10 | 10 | from sqlalchemy.ext.asyncio import AsyncSession |
|
53 | 53 | JobTerminationReason, |
54 | 54 | Requirements, |
55 | 55 | Run, |
| 56 | + RunSpec, |
56 | 57 | ) |
57 | 58 | from dstack._internal.core.models.volumes import Volume |
58 | 59 | from dstack._internal.core.services.profiles import get_termination |
@@ -427,7 +428,7 @@ async def _prepare_job_volumes( |
427 | 428 | session: AsyncSession, |
428 | 429 | job_model: JobModel, |
429 | 430 | project: ProjectModel, |
430 | | - run_spec, |
| 431 | + run_spec: RunSpec, |
431 | 432 | job: Job, |
432 | 433 | ) -> Optional[_PreparedJobVolumes]: |
433 | 434 | try: |
@@ -964,11 +965,11 @@ async def _terminate_submitted_job( |
964 | 965 | session: AsyncSession, |
965 | 966 | job_model: JobModel, |
966 | 967 | reason: JobTerminationReason, |
967 | | - message: object = common_utils.UNSET, |
| 968 | + message: Optional[str] = None, |
968 | 969 | ): |
969 | 970 | job_model.termination_reason = reason |
970 | | - if message is not common_utils.UNSET: |
971 | | - job_model.termination_reason_message = cast(Optional[str], message) |
| 971 | + if message is not None: |
| 972 | + job_model.termination_reason_message = message |
972 | 973 | switch_job_status(session, job_model, JobStatus.TERMINATING) |
973 | 974 | await _mark_job_processed(session=session, job_model=job_model) |
974 | 975 |
|
|
0 commit comments