27 lines
460 B
Go
27 lines
460 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"errors"
|
|
"log"
|
|
"os"
|
|
"os/signal"
|
|
"syscall"
|
|
)
|
|
|
|
func main() {
|
|
cfg, err := loadConfig()
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
ctx, stop := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM)
|
|
defer stop()
|
|
|
|
logger := log.New(os.Stdout, "multica-daemon: ", log.LstdFlags)
|
|
d := newDaemon(cfg, logger)
|
|
|
|
if err := d.run(ctx); err != nil && !errors.Is(err, context.Canceled) {
|
|
logger.Fatal(err)
|
|
}
|
|
}
|