Integrate ws client into downloader

This commit is contained in:
2024-06-18 09:38:55 +02:00
parent 0e9ddcd7a4
commit b4d161e8e9
5 changed files with 95 additions and 9 deletions

View File

@@ -9,6 +9,8 @@ const POCKETBASE_URL = `https://pocketbase-scratch.site.quack-lab.dev/api/collec
const POCKETBASE_REALTIME = `https://pocketbase-scratch.site.quack-lab.dev/api/realtime`
const COLLECTION_NAME = "youtubedownload"
const FULL_URL = POCKETBASE_URL + "/" + COLLECTION_NAME + "/records"
const WEBSOCKET_SERVER = "ws://youtube-download-ws-server.site.quack-lab.dev/ws"
const WEBSOCKET_SERVER_ALT = "ws://localhost:8080/ws"
func main() {
log.SetFlags(log.Lmicroseconds)
@@ -37,19 +39,24 @@ func main() {
// }
// log.Printf("Data: %+v\n", data)
listener := new(RealtimeListener)
listener.Url = POCKETBASE_REALTIME
listener.Collections = []string{COLLECTION_NAME}
listener.initialize()
// listener := new(RealtimeListener)
// listener.Url = POCKETBASE_REALTIME
// listener.Collections = []string{COLLECTION_NAME}
// listener.initialize()
status := make(chan error)
ws := new(WSConnection)
ws.url = WEBSOCKET_SERVER
ws.Open()
status := make(chan error, 16)
for {
select {
case event := <-listener.Create:
log.Printf("Create event: %+v\n", event)
case event := <-ws.ReadChan:
eventCopy := event
log.Printf("New event: %+v", eventCopy)
go func() {
Download(eventCopy, status)
// Download(eventCopy, status)
DownloadURL(eventCopy, status)
// go DownloadNative(event, status)
for status := range status {
log.Printf("Status: %s\n", status)