Implement worker client #1

Merged
bilal.catic merged 9 commits from implement-worker-client into master 2020-05-08 12:18:10 +02:00
Showing only changes of commit 451c3477bc - Show all commits

View File

@@ -3,6 +3,7 @@ package workerserver
import (
"bufio"
b64 "encoding/base64"
c "gitlab.com/saburly/kiviscraplib/config"
"gitlab.com/saburly/kiviscraplib/structures"
"log"
"math/rand"
@@ -15,13 +16,12 @@ var requests chan structures.Request
var workers chan structures.WorkerDescription
func ServeWorkers(queue chan structures.Request, end chan<- string) {
rand.Seed(time.Now().Unix())
workers = make(chan structures.WorkerDescription, 50) // TODO: move to env var
workers = make(chan structures.WorkerDescription, c.WorkerServerConfig.WorkersCount)
requests = queue
listener, err := net.Listen("tcp", "127.0.0.1:1338")
listener, err := net.Listen("tcp", c.WorkerServerConfig.Address)
if err != nil {
log.Fatal("tcp server listener error:", err)
end <- "tcp server"
@@ -61,7 +61,7 @@ func handleConnection(conn net.Conn) {
for {
request := <-workerDescription.Req
requestBase64 := b64.StdEncoding.EncodeToString([]byte("URL " + request.Url))
requestBase64 := b64.StdEncoding.EncodeToString([]byte(c.WorkerServerConfig.RequestMessagePrefix + request.Url))
_, err := conn.Write([]byte(requestBase64 + "\n"))
if err != nil {