first demo

This commit is contained in:
xkm
2025-04-14 22:57:36 +08:00
parent 0c76d2169a
commit a960184433
22 changed files with 1047 additions and 218 deletions

31
cmd/worker/main.go Normal file
View File

@@ -0,0 +1,31 @@
package main
import (
"log"
"runbin/internal/config"
"runbin/internal/repository"
"runbin/internal/worker"
)
func main() {
cfg := config.LoadWorker("/home/xkm/project/runbin/config/worker.yaml")
// Initialize storage
var store repository.PasteRepository
switch cfg.Storage.Type {
case "memory":
log.Fatal("Worker can't use memory repository at now!")
case "database":
dbStore, err := repository.NewPostgresStore(cfg.Storage.Database.DSN)
defer dbStore.Close()
if err != nil {
log.Fatalf("Failed to connect to database: %v", err)
}
store = dbStore
default:
log.Fatalf("Unsupported storage type: %s", cfg.Storage.Type)
}
work := worker.NewWorker(store, cfg)
work.Run()
}