First kinda working POC of docker pull tracking
This commit is contained in:
@@ -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}",
|
||||
|
||||
Reference in New Issue
Block a user