qwak-core 0.4.273__py3-none-any.whl → 0.4.274__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- frogml_storage/__init__.py +1 -1
- qwak/__init__.py +1 -1
- qwak/clients/batch_job_management/client.py +39 -0
- {qwak_core-0.4.273.dist-info → qwak_core-0.4.274.dist-info}/METADATA +1 -1
- {qwak_core-0.4.273.dist-info → qwak_core-0.4.274.dist-info}/RECORD +7 -7
- qwak_services_mock/mocks/batch_job_manager_service.py +24 -1
- {qwak_core-0.4.273.dist-info → qwak_core-0.4.274.dist-info}/WHEEL +0 -0
frogml_storage/__init__.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = "0.4.
|
1
|
+
__version__ = "0.4.274"
|
qwak/__init__.py
CHANGED
@@ -34,6 +34,10 @@ from _qwak_proto.qwak.batch_job.v1.batch_job_service_pb2 import (
|
|
34
34
|
StartBatchJobResponse,
|
35
35
|
StartWarmupJobRequest,
|
36
36
|
StartWarmupJobResponse,
|
37
|
+
UpdateTasksDetailsResponse,
|
38
|
+
UpdateTasksDetailsRequest,
|
39
|
+
BatchTaskDetails,
|
40
|
+
InputFileDetails,
|
37
41
|
)
|
38
42
|
from _qwak_proto.qwak.batch_job.v1.batch_job_service_pb2_grpc import (
|
39
43
|
BatchJobManagementServiceStub,
|
@@ -67,6 +71,8 @@ from .results import (
|
|
67
71
|
StartExecutionResult,
|
68
72
|
)
|
69
73
|
|
74
|
+
from typing import List
|
75
|
+
|
70
76
|
CLIENT_TIMEOUT = 180 # Seconds
|
71
77
|
|
72
78
|
|
@@ -541,3 +547,36 @@ class BatchJobManagerClient:
|
|
541
547
|
|
542
548
|
except grpc.RpcError as e:
|
543
549
|
raise QwakException(f"Failed to get batch job details, error is: {e}")
|
550
|
+
|
551
|
+
def update_task_details(self, task_id: str, input_file_paths: List[str]):
|
552
|
+
"""
|
553
|
+
Update task details for a specific task using the provided list of input file paths.
|
554
|
+
|
555
|
+
:param task_id: The ID of the task to update.
|
556
|
+
:param input_file_paths: A list of paths for the input files associated with the task.
|
557
|
+
"""
|
558
|
+
# Create InputFileDetails messages for each input file path
|
559
|
+
input_files_details = [
|
560
|
+
InputFileDetails(path=file_path) for file_path in input_file_paths
|
561
|
+
]
|
562
|
+
|
563
|
+
# Create BatchTaskDetails message for the single task
|
564
|
+
batch_task_details = BatchTaskDetails(
|
565
|
+
task_id=task_id, input_files_details=input_files_details
|
566
|
+
)
|
567
|
+
|
568
|
+
update_request = UpdateTasksDetailsRequest(
|
569
|
+
tasks_details=[batch_task_details] # Wrap in a list
|
570
|
+
)
|
571
|
+
|
572
|
+
try:
|
573
|
+
response: UpdateTasksDetailsResponse = (
|
574
|
+
self.batch_job_management.UpdateTasksDetails(
|
575
|
+
update_request, timeout=CLIENT_TIMEOUT
|
576
|
+
)
|
577
|
+
)
|
578
|
+
return response
|
579
|
+
except grpc.RpcError as e:
|
580
|
+
raise QwakException(
|
581
|
+
f"Failed to update task details for task '{task_id}', error is: {e}"
|
582
|
+
)
|
@@ -601,7 +601,7 @@ _qwak_proto/qwak/workspace/workspace_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXH
|
|
601
601
|
_qwak_proto/qwak/workspace/workspace_service_pb2.py,sha256=AB3C9S_AbOD7Nx1Ni4j1rW6PNtYTV1zjiqFQk-goQ74,21429
|
602
602
|
_qwak_proto/qwak/workspace/workspace_service_pb2.pyi,sha256=nKKCHwnovZhsy8TSVmdz-Vtl0nviOOoX56HD-41Xo08,13726
|
603
603
|
_qwak_proto/qwak/workspace/workspace_service_pb2_grpc.py,sha256=yKGuexxTBza99Ihe0DSTniV2ZSd_AG47inHenqfi890,27193
|
604
|
-
frogml_storage/__init__.py,sha256=
|
604
|
+
frogml_storage/__init__.py,sha256=1mCSXL7YMxikjtZ5XkdakddCj6I8TUdikdVsLUZnEKI,24
|
605
605
|
frogml_storage/artifactory/__init__.py,sha256=C02rcm7kqsZBVA6c6Gztxamj96hn8Aj6BuzYWFRmWbQ,71
|
606
606
|
frogml_storage/artifactory/_artifactory_api.py,sha256=z8YX90bCy82BWqMNUdpbbig1qF5CarkIOfP6V96uYYg,11188
|
607
607
|
frogml_storage/authentication/login/__init__.py,sha256=ch8UhQwh3o5ddyoJykQ0Bnog5-8qKHmeDpwqny8xMzM,46
|
@@ -639,7 +639,7 @@ frogml_storage/utils/_environment.py,sha256=NEnRxaFdRDi3UA33IVTSfQxqc9ZB6nV9YlHD
|
|
639
639
|
frogml_storage/utils/_input_checks_utility.py,sha256=ZUvkxhcTcbSKtpSo5ePWha3Ca5xohxIpiAlZlpcQ3xk,3221
|
640
640
|
frogml_storage/utils/_storage_utils.py,sha256=HB2g7uY5A3b33yIcAUM1OjHb5jWsnpESsiDrEviQwrI,366
|
641
641
|
frogml_storage/utils/_url_utils.py,sha256=NUEfz9Fp1iE8b676-A5wrMlSTsJVRKrUhcUItOFAJD8,821
|
642
|
-
qwak/__init__.py,sha256=
|
642
|
+
qwak/__init__.py,sha256=P5ciba6jp-mh0N5zd9Lk_21ggEtl8c6HxAeHazCeQVM,587
|
643
643
|
qwak/automations/__init__.py,sha256=qFZRvCxUUn8gcxkJR0v19ulHW2oJ0x6-Rif7HiheDP4,1522
|
644
644
|
qwak/automations/automation_executions.py,sha256=5MeH_epYYWb8NKXgAozwT_jPyyUDednBHG7izloi7RY,3228
|
645
645
|
qwak/automations/automations.py,sha256=3yx8e2v0uSKDnXbqyknasyEoQ5vxGni6K40Hbi1_zkk,12599
|
@@ -675,7 +675,7 @@ qwak/clients/automation_management/client.py,sha256=oO3CihRxPPPlIWN764Dmf4hmWChH
|
|
675
675
|
qwak/clients/autoscaling/__init__.py,sha256=A-zuZOWaZf16NjnpX38204m730c5Lde491KaXneGirE,38
|
676
676
|
qwak/clients/autoscaling/client.py,sha256=55Pc2yc8dLl2C2MSdO2g5E25vYgkmvJSxXnKZriP_dk,1240
|
677
677
|
qwak/clients/batch_job_management/__init__.py,sha256=zywxYf2JupkIWnGVB2C6ugZs5CrOdxTPrksD5P6uQu4,211
|
678
|
-
qwak/clients/batch_job_management/client.py,sha256=
|
678
|
+
qwak/clients/batch_job_management/client.py,sha256=4fwZtljRW93Yz6hqNEpR4YP9T7s7rYXLn2jR7hUE9B8,22453
|
679
679
|
qwak/clients/batch_job_management/executions_config.py,sha256=LYf9j8T5W1M1EK6cjXPwAmiyGNR7wfdjNCmeKNhiREU,6882
|
680
680
|
qwak/clients/batch_job_management/results.py,sha256=nrFGZ3y538FBhej94CYV4cwqQssK1aUQOLGubYdQVrc,1846
|
681
681
|
qwak/clients/build_management/__init__.py,sha256=oXurHX6Kho5X-fOuuNHB3B9oMX6ejYUqh6GWv5qJyjw,43
|
@@ -1072,7 +1072,7 @@ qwak_services_mock/mocks/audience_service_api.py,sha256=2PvXpzKBR-Dnu9Fmb70UJn-h
|
|
1072
1072
|
qwak_services_mock/mocks/authentication_service.py,sha256=79A8hmYUsg4i7EwyGG54CidbANlp-ub4f716BbLCaJQ,1166
|
1073
1073
|
qwak_services_mock/mocks/automation_management_service.py,sha256=C9rYKMy0hzOTaKTCrTkE5jTnPSenVkLV8DCptBKr02U,8211
|
1074
1074
|
qwak_services_mock/mocks/autoscaling_service_api.py,sha256=YgucRD3ZjhxqttNVSF_HL7u3aDo55LdRSEE7q0fxp3M,1019
|
1075
|
-
qwak_services_mock/mocks/batch_job_manager_service.py,sha256=
|
1075
|
+
qwak_services_mock/mocks/batch_job_manager_service.py,sha256=zVBBBkYdvWFwEXP_VHBH8SBIvJosPt0jHnHlJjuf6AI,14080
|
1076
1076
|
qwak_services_mock/mocks/build_management.py,sha256=LYtrEvDt-lJbNJEP-pFpvAKcS82mAzb2gyoCu1-XCOs,3686
|
1077
1077
|
qwak_services_mock/mocks/build_orchestrator_build_api.py,sha256=mtb6wEZug9zCiMHZVrfsU0YOP59rgBrpvZDjEInG7B8,5004
|
1078
1078
|
qwak_services_mock/mocks/build_orchestrator_build_settings_api.py,sha256=oj_JTxY_3xj8FkgWkxQER_EoBFDqL2g21NPrU31fD6o,1379
|
@@ -1113,6 +1113,6 @@ qwak_services_mock/mocks/workspace_manager_service_mock.py,sha256=O9ZSwln4T4kHVk
|
|
1113
1113
|
qwak_services_mock/services_mock.py,sha256=zXtHcX8a_acz7ynxuCBxxVpHpde7aAGjIn6Uw52LY1s,19593
|
1114
1114
|
qwak_services_mock/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1115
1115
|
qwak_services_mock/utils/service_utils.py,sha256=ZlB0CnB1J6oBn6_m7fQO2U8tKoboHdUa6ljjkRMYNXU,265
|
1116
|
-
qwak_core-0.4.
|
1117
|
-
qwak_core-0.4.
|
1118
|
-
qwak_core-0.4.
|
1116
|
+
qwak_core-0.4.274.dist-info/METADATA,sha256=y4d-7FAjGvZED7BOp-KlfV853gDZPiO3HJu7KfMTUvU,15142
|
1117
|
+
qwak_core-0.4.274.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
1118
|
+
qwak_core-0.4.274.dist-info/RECORD,,
|
@@ -36,6 +36,9 @@ from _qwak_proto.qwak.batch_job.v1.batch_job_service_pb2 import (
|
|
36
36
|
StartWarmupJobRequest,
|
37
37
|
StartWarmupJobResponse,
|
38
38
|
TaskExecutionDetails,
|
39
|
+
UpdateTasksDetailsRequest,
|
40
|
+
UpdateTasksDetailsResponse,
|
41
|
+
BatchTaskDetails,
|
39
42
|
)
|
40
43
|
from _qwak_proto.qwak.batch_job.v1.batch_job_service_pb2_grpc import (
|
41
44
|
BatchJobManagementServiceServicer,
|
@@ -51,6 +54,7 @@ class BatchJobManagerService(BatchJobManagementServiceServicer):
|
|
51
54
|
self.id_to_batch_job: Dict[str, MockBatchJob] = dict()
|
52
55
|
self.model_id_active_warmup: Set[str] = set()
|
53
56
|
self.models_to_fail: Set[str] = set()
|
57
|
+
self.task_id_to_update_task_details: Dict[str, BatchTaskDetails] = dict()
|
54
58
|
|
55
59
|
def StartBatchJob(
|
56
60
|
self, request: StartBatchJobRequest, context
|
@@ -265,6 +269,25 @@ class BatchJobManagerService(BatchJobManagementServiceServicer):
|
|
265
269
|
except Exception as e:
|
266
270
|
raise_internal_grpc_error(context, e)
|
267
271
|
|
272
|
+
def UpdateTasksDetails(
|
273
|
+
self, request: UpdateTasksDetailsRequest, context
|
274
|
+
) -> UpdateTasksDetailsResponse:
|
275
|
+
for task in request.tasks_details:
|
276
|
+
task_id = task.task_id
|
277
|
+
if not task_id :
|
278
|
+
raise ValueError("Task ID cannot be empty")
|
279
|
+
input_files = task.input_files_details
|
280
|
+
|
281
|
+
print(f"Updating task with ID: {task_id} and input files: {[file.path for file in input_files]}")
|
282
|
+
self.task_id_to_update_task_details[task_id] = task
|
283
|
+
return UpdateTasksDetailsResponse()
|
284
|
+
|
285
|
+
def get_task_details(self,task_id: str
|
286
|
+
) -> Optional[BatchTaskDetails]:
|
287
|
+
"""
|
288
|
+
Get task details by task ID
|
289
|
+
"""
|
290
|
+
return self.task_id_to_update_task_details[task_id]
|
268
291
|
|
269
292
|
class MockBatchJob:
|
270
293
|
def __init__(self, request: StartBatchJobRequest):
|
@@ -331,4 +354,4 @@ def batch_job_to_message(batch_job: MockBatchJob) -> BatchJobMessage:
|
|
331
354
|
for line in batch_job.report
|
332
355
|
],
|
333
356
|
task_executions=batch_job.tasks,
|
334
|
-
)
|
357
|
+
)
|
File without changes
|