diff options
Diffstat (limited to 'controller')
-rw-r--r-- | controller/controller.go | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/controller/controller.go b/controller/controller.go index c7f4145..701d34c 100644 --- a/controller/controller.go +++ b/controller/controller.go @@ -1,8 +1,10 @@ package controller import ( + "log" "net/http" "strconv" + "strings" "time" "git.sr.ht/~gabrielgio/midr/db" @@ -15,6 +17,13 @@ type Env struct { Worker worker.Worker } +func logBytes(logc <-chan []byte) { + for l := range logc { + logs := strings.TrimRight(string(l), "\t \n") + log.Println(logs) + } +} + func (e *Env) GetEntries(c *gin.Context) { entries := e.Entries.All() c.HTML(http.StatusOK, "index", entries) @@ -41,7 +50,9 @@ func (e *Env) CreateEntry(c *gin.Context) { var entry db.Entry c.ShouldBind(&entry) e.Entries.Create(&entry) - e.Worker.SpawnWorker(&entry) + log := e.Worker.RunYtDlpWorker(&entry) + go logBytes(log) + c.Redirect(http.StatusFound, "/") } @@ -66,7 +77,10 @@ func (e *Env) StartScheduler() { entries := e.Entries.All() for _, entry := range entries { - e.Worker.SpawnWorker(&entry) + log := e.Worker.RunYtDlpWorker(&entry) + if log != nil { + go logBytes(log) + } } time.Sleep(30 * time.Second) } |