mirror of
https://github.com/kevin-DL/services.git
synced 2026-01-11 10:54:28 +00:00
49 lines
1.0 KiB
Go
49 lines
1.0 KiB
Go
package main
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/micro/micro/v3/service"
|
|
"github.com/micro/micro/v3/service/config"
|
|
"github.com/micro/micro/v3/service/logger"
|
|
"github.com/micro/services/currency/handler"
|
|
pb "github.com/micro/services/currency/proto"
|
|
"github.com/patrickmn/go-cache"
|
|
)
|
|
|
|
func main() {
|
|
// Create service
|
|
srv := service.New(
|
|
service.Name("currency"),
|
|
service.Version("latest"),
|
|
)
|
|
|
|
v, err := config.Get("exchangerate.api")
|
|
if err != nil {
|
|
logger.Fatalf("exchangerate.api config not found: %v", err)
|
|
}
|
|
api := v.String("")
|
|
if len(api) == 0 {
|
|
logger.Fatal("exchangerate.api config not found")
|
|
}
|
|
v, err = config.Get("exchangerate.key")
|
|
if err != nil {
|
|
logger.Fatalf("exchangerate.key config not found: %v", err)
|
|
}
|
|
key := v.String("")
|
|
if len(key) == 0 {
|
|
logger.Fatal("exchangerate.key config not found")
|
|
}
|
|
|
|
// Register handler
|
|
pb.RegisterCurrencyHandler(srv.Server(), &handler.Currency{
|
|
Api: api + key,
|
|
Cache: cache.New(5*time.Minute, 10*time.Minute),
|
|
})
|
|
|
|
// Run service
|
|
if err := srv.Run(); err != nil {
|
|
logger.Fatal(err)
|
|
}
|
|
}
|