Code

The code behind goCron

This is the code behind.

package main

import (
    "fmt"
    "os"
    "time"

    "github.com/robfig/cron"    
)
        
func crontsk() {
    c := cron.New()
    c.AddFunc("@every 5s", addstamp)
    c.AddFunc("@every 60s", cleardoc)
    c.Start()
    time.Sleep(time.Duration(1 << 63 - 1))
}
        
func addstamp() {
    t := time.Now()
    crondoc(t.Format("2006-01-02T15-04-05.000Z"))
}
        
func crondoc(msg string) {
    file, err := os.OpenFile("log.txt", os.O_APPEND|os.O_WRONLY, 0644)
    if err != nil {
        fmt.Println(err.Error())
    }
        
    file.WriteString(msg + "\n")
    defer file.Close()
}
        
func cleardoc() {
    if err := os.Truncate("log.txt", 0); err != nil {
        fmt.Println(err)
    }
}

The Go web server uses this code to update the page:

timestamp, _ := ioutil.ReadFile("log.txt") 
tpl.ExecuteTemplate(w, page, string(timestamp))    

And this Javascrpt refresh the page every 5 seconds;

<script>
    window.setInterval('refresh()', 5000);
    function refresh() {
        window.location.reload();
    }
</script>