Initial commit for AI Media Hub
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled

This commit is contained in:
AI Assistant
2026-03-12 14:13:05 +09:00
parent b9940fa4d2
commit d030e737cb
17 changed files with 1051 additions and 0 deletions

47
backend/handlers/ws.go Normal file
View File

@@ -0,0 +1,47 @@
package handlers
import (
"log"
"sync"
"github.com/gofiber/websocket/v2"
)
var clients = make(map[*websocket.Conn]bool)
var clientsMutex sync.Mutex
func WsHandler(c *websocket.Conn) {
clientsMutex.Lock()
clients[c] = true
clientsMutex.Unlock()
defer func() {
clientsMutex.Lock()
delete(clients, c)
clientsMutex.Unlock()
c.Close()
}()
for {
// Just keep alive, ignore incoming messages
_, _, err := c.ReadMessage()
if err != nil {
log.Println("ws error:", err)
break
}
}
}
func BroadcastProgress(message string) {
clientsMutex.Lock()
defer clientsMutex.Unlock()
for client := range clients {
err := client.WriteMessage(websocket.TextMessage, []byte(message))
if err != nil {
log.Println("ws broadcast error:", err)
client.Close()
delete(clients, client)
}
}
}