Just another update
This commit is contained in:
parent
a25938f123
commit
00a190b0a6
6591 changed files with 94363 additions and 23227 deletions
|
|
@ -1,60 +1,60 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
"bytes"
|
||||
"bufio"
|
||||
"bytes"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
)
|
||||
|
||||
var fn = "mlijobs.txt"
|
||||
const (
|
||||
filename = "mlijobs.txt"
|
||||
inoutField = 1
|
||||
timeField = 3
|
||||
numFields = 7
|
||||
)
|
||||
|
||||
func main() {
|
||||
f, err := os.Open(fn)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
return
|
||||
}
|
||||
defer f.Close()
|
||||
var ml, out int
|
||||
var mlTimes []string
|
||||
in := []byte("IN")
|
||||
for lr := bufio.NewReader(f); ; {
|
||||
line, pref, err := lr.ReadLine()
|
||||
if err == io.EOF {
|
||||
break
|
||||
}
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
return
|
||||
}
|
||||
if pref {
|
||||
fmt.Println("Unexpected long line.")
|
||||
return
|
||||
}
|
||||
f := bytes.Fields(line)
|
||||
if len(f) != 7 {
|
||||
fmt.Println("unexpected format,", len(f), "fields.")
|
||||
return
|
||||
}
|
||||
if bytes.Equal(f[1], in) {
|
||||
out--
|
||||
continue
|
||||
}
|
||||
out++
|
||||
if out == ml {
|
||||
mlTimes = append(mlTimes, string(f[3]))
|
||||
continue
|
||||
}
|
||||
if out > ml {
|
||||
ml = out
|
||||
mlTimes = append(mlTimes[:0], string(f[3]))
|
||||
}
|
||||
}
|
||||
fmt.Println("max licenses:", ml)
|
||||
fmt.Println("at:")
|
||||
for _, t := range mlTimes {
|
||||
fmt.Println(" ", t)
|
||||
}
|
||||
file, err := os.Open(filename)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
defer file.Close()
|
||||
var ml, out int
|
||||
var mlTimes []string
|
||||
in := []byte("IN")
|
||||
s := bufio.NewScanner(file)
|
||||
for s.Scan() {
|
||||
f := bytes.Fields(s.Bytes())
|
||||
if len(f) != numFields {
|
||||
log.Fatal("unexpected format,", len(f), "fields.")
|
||||
}
|
||||
if bytes.Equal(f[inoutField], in) {
|
||||
out--
|
||||
if out < 0 {
|
||||
log.Fatalf("negative license use at %s", f[timeField])
|
||||
}
|
||||
continue
|
||||
}
|
||||
out++
|
||||
if out < ml {
|
||||
continue
|
||||
}
|
||||
|
||||
if out > ml {
|
||||
ml = out
|
||||
mlTimes = mlTimes[:0]
|
||||
}
|
||||
mlTimes = append(mlTimes, string(f[timeField]))
|
||||
}
|
||||
if err = s.Err(); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
fmt.Println("max licenses:", ml)
|
||||
fmt.Println("at:")
|
||||
for _, t := range mlTimes {
|
||||
fmt.Println(" ", t)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue