First kinda working POC of docker pull tracking

This commit is contained in:
2025-09-04 15:05:40 +09:30
parent 8b47047eca
commit 5dbba98282
6 changed files with 390 additions and 36 deletions
+31 -14
View File
@@ -52,22 +52,39 @@ def register_socketio_handlers(socketio):
"docker_start",
"docker_destroy",
"docker_die",
"docker_launch_failed",
"docker_launch_failed",
"docker_pull_progress",
):
action_URL = f"workloads/containers/status_update/{system_container_id}"
new_status_map = {
"docker_start": "running",
"docker_destroy": "deleted",
"docker_die": "dead",
"docker_launch_failed": "launch_failed",
}
payload = {
"new_status": new_status_map[event_type],
"system_container_id": system_container_id,
"worker_id": worker_id,
"timestamp": timestamp,
**({"error": error} if error else {})
}
if event_type == "docker_pull_progress":
# Handle pull progress events
pull_progress = details.get("pull_progress", {})
payload = {
"new_status": "pulling",
"system_container_id": system_container_id,
"worker_id": worker_id,
"timestamp": timestamp,
"pull_progress": pull_progress,
**({"error": error} if error else {})
}
logger.info(f"Processing pull progress update for container {system_container_id}: {pull_progress.get('progress_percentage', 0):.1f}%")
else:
# Handle standard status events
new_status_map = {
"docker_start": "running",
"docker_destroy": "deleted",
"docker_die": "dead",
"docker_launch_failed": "launch_failed",
}
payload = {
"new_status": new_status_map[event_type],
"system_container_id": system_container_id,
"worker_id": worker_id,
"timestamp": timestamp,
**({"error": error} if error else {})
}
headers = {"Content-Type": "application/json"}
websocket_server_response = requests.put(
f"{api_server_url}/{action_URL}",