projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
10223: Test simplification: better name, assertion error description added, and use...
[arvados.git]
/
services
/
ws
/
main.go
diff --git
a/services/ws/main.go
b/services/ws/main.go
index 28662440d07162d200a862672778dd62cb590902..7c3625bdad2df51ee652122b807d4dafeb892349 100644
(file)
--- a/
services/ws/main.go
+++ b/
services/ws/main.go
@@
-3,28
+3,31
@@
package main
import (
"flag"
"fmt"
import (
"flag"
"fmt"
- "log"
"net/http"
"time"
"git.curoverse.com/arvados.git/sdk/go/config"
"net/http"
"time"
"git.curoverse.com/arvados.git/sdk/go/config"
+ "git.curoverse.com/arvados.git/sdk/go/ctxlog"
+ "github.com/coreos/go-systemd/daemon"
)
)
-var
debugLogf = func(string, ...interface{}) {}
+var
logger = ctxlog.FromContext
func main() {
func main() {
+ log := logger(nil)
+
configPath := flag.String("config", "/etc/arvados/ws/ws.yml", "`path` to config file")
dumpConfig := flag.Bool("dump-config", false, "show current configuration and exit")
configPath := flag.String("config", "/etc/arvados/ws/ws.yml", "`path` to config file")
dumpConfig := flag.Bool("dump-config", false, "show current configuration and exit")
- cfg :=
D
efaultConfig()
+ cfg :=
d
efaultConfig()
flag.Parse()
err := config.LoadFile(&cfg, *configPath)
if err != nil {
log.Fatal(err)
}
flag.Parse()
err := config.LoadFile(&cfg, *configPath)
if err != nil {
log.Fatal(err)
}
- if cfg.Debug {
- debugLogf = log.Printf
- }
+
+ ctxlog.SetLevel(cfg.LogLevel)
+ ctxlog.SetFormat(cfg.LogFormat)
if *dumpConfig {
txt, err := config.Dump(&cfg)
if *dumpConfig {
txt, err := config.Dump(&cfg)
@@
-35,9
+38,10
@@
func main() {
return
}
return
}
+ log.Info("started")
eventSource := &pgEventSource{
eventSource := &pgEventSource{
-
PgConfig: cfg.Postgres
,
- QueueSize: cfg.ServerEventQueue,
+
DataSource: cfg.Postgres.ConnectionString()
,
+ QueueSize:
cfg.ServerEventQueue,
}
srv := &http.Server{
Addr: cfg.Listen,
}
srv := &http.Server{
Addr: cfg.Listen,
@@
-45,10
+49,19
@@
func main() {
WriteTimeout: time.Minute,
MaxHeaderBytes: 1 << 20,
Handler: &router{
WriteTimeout: time.Minute,
MaxHeaderBytes: 1 << 20,
Handler: &router{
- Config: &cfg,
- eventSource: eventSource,
+ Config: &cfg,
+ eventSource: eventSource,
+ newPermChecker: func() permChecker { return newPermChecker(cfg.Client) },
},
}
},
}
+ // Bootstrap the eventSource by attaching a dummy subscriber
+ // and hanging up.
eventSource.NewSink().Stop()
eventSource.NewSink().Stop()
+
+ if _, err := daemon.SdNotify(false, "READY=1"); err != nil {
+ log.WithError(err).Warn("error notifying init daemon")
+ }
+
+ log.WithField("Listen", srv.Addr).Info("listening")
log.Fatal(srv.ListenAndServe())
}
log.Fatal(srv.ListenAndServe())
}