extracted handle signals

This commit is contained in:
pippellia-btc
2025-06-10 16:44:53 +02:00
parent b856f03605
commit b60eb9d10b
3 changed files with 15 additions and 26 deletions

View File

@@ -8,7 +8,10 @@ import (
"github/pippellia-btc/crawler/pkg/redb"
"github/pippellia-btc/crawler/pkg/walks"
"log"
"os"
"os/signal"
"sync/atomic"
"syscall"
"time"
)
@@ -210,3 +213,13 @@ func Promote(db redb.RedisDB, node graph.ID) error {
return db.Promote(ctx, node)
}
// HandleSignals listens for OS signals and triggers context cancellation.
func HandleSignals(cancel context.CancelFunc) {
signals := make(chan os.Signal, 1)
signal.Notify(signals, syscall.SIGINT, syscall.SIGTERM)
<-signals
log.Println("signal received. shutting down...")
cancel()
}