From b00057b2ea1bb7ab9b9c7b0049007d35545cbb0f Mon Sep 17 00:00:00 2001 From: Peder Vatn Austad Date: Sun, 29 Dec 2024 13:27:49 +0100 Subject: [PATCH] docker --- Dockerfile | 20 ++++++++++++++++++++ main.go | 14 ++++++++++++-- 2 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ab221cf --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +# Use the official Golang image as the base image +FROM golang:1.22.1 + +# Set the Current Working Directory inside the container +WORKDIR /app + +# Copy go mod and sum files +COPY go.mod go.sum ./ + +# Download all dependencies. Dependencies will be cached if the go.mod and go.sum files are not changed +RUN go mod download + +# Copy the source from the current directory to the Working Directory inside the container +COPY . . + +# Build the Go app +RUN go build -o main . + +# Command to run the executable +CMD ["./main"] \ No newline at end of file diff --git a/main.go b/main.go index 36bd9df..31035e6 100644 --- a/main.go +++ b/main.go @@ -4,12 +4,16 @@ import ( "log" "ti1/data" "ti1/export" + "time" ) func main() { + log.Println("Starting...") //config.PrintDBConfig() - for i := 0; i < 10; i++ { + for { + start := time.Now() + data, err := data.FetchData() if err != nil { log.Fatal(err) @@ -17,8 +21,14 @@ func main() { //export.ExportToCSV(data) export.DBData(data) + + log.Println("finished in", time.Since(start)) + elapsed := time.Since(start) + if elapsed < 5*time.Minute { + log.Printf("starting again in %v", 5*time.Minute-elapsed) + time.Sleep(1*time.Minute - elapsed) + } } - println(":)") //export.PrintData(data) //log.Printf("Data fetched successfully: %+v", data)