mirror of
https://github.com/hibiken/asynq.git
synced 2024-12-25 23:32:17 +08:00
Terminate background upon receiving SIGTERM or SIGINT
This commit is contained in:
parent
12fc336889
commit
911e600c41
@ -6,6 +6,7 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"os/signal"
|
"os/signal"
|
||||||
"sync"
|
"sync"
|
||||||
|
"syscall"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/hibiken/asynq/internal/rdb"
|
"github.com/hibiken/asynq/internal/rdb"
|
||||||
@ -74,9 +75,9 @@ func (bg *Background) Run(handler Handler) {
|
|||||||
bg.start(handler)
|
bg.start(handler)
|
||||||
defer bg.stop()
|
defer bg.stop()
|
||||||
|
|
||||||
// Wait for a signal to exit.
|
// Wait for a signal to terminate.
|
||||||
sigs := make(chan os.Signal, 1)
|
sigs := make(chan os.Signal, 1)
|
||||||
signal.Notify(sigs, os.Interrupt, os.Kill)
|
signal.Notify(sigs, syscall.SIGTERM, syscall.SIGINT)
|
||||||
<-sigs
|
<-sigs
|
||||||
fmt.Println()
|
fmt.Println()
|
||||||
log.Println("[INFO] Starting graceful shutdown...")
|
log.Println("[INFO] Starting graceful shutdown...")
|
||||||
|
@ -144,7 +144,7 @@ func (r *RDB) Retry(msg *TaskMessage, processAt time.Time, errMsg string) error
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("could not marshal %+v to json: %v", modified, err)
|
return fmt.Errorf("could not marshal %+v to json: %v", modified, err)
|
||||||
}
|
}
|
||||||
// KEYS[1] -> asynq:in_progress
|
// KEYS[1] -> asynq:in_progress
|
||||||
// KEYS[2] -> asynq:retry
|
// KEYS[2] -> asynq:retry
|
||||||
// ARGV[1] -> TaskMessage value to remove from InProgress queue
|
// ARGV[1] -> TaskMessage value to remove from InProgress queue
|
||||||
// ARGV[2] -> TaskMessage value to add to Retry queue
|
// ARGV[2] -> TaskMessage value to add to Retry queue
|
||||||
|
Loading…
Reference in New Issue
Block a user