2
0
mirror of https://github.com/hibiken/asynq.git synced 2025-10-26 11:16:12 +08:00

use new context at call point instead of global context variable

This commit is contained in:
strobus
2021-08-19 15:29:35 -04:00
parent 0f32aca3fc
commit 626e626058
9 changed files with 190 additions and 194 deletions

View File

@@ -20,8 +20,6 @@ import (
"github.com/spf13/cobra"
)
var ctx = context.Background()
// migrateCmd represents the migrate command.
var migrateCmd = &cobra.Command{
Use: "migrate",
@@ -41,10 +39,10 @@ func backupKey(key string) string {
}
func renameKeyAsBackup(c redis.UniversalClient, key string) error {
if c.Exists(ctx, key).Val() == 0 {
if c.Exists(context.Background(), key).Val() == 0 {
return nil // key doesn't exist; no-op
}
return c.Rename(ctx, key, backupKey(key)).Err()
return c.Rename(context.Background(), key, backupKey(key)).Err()
}
func failIfError(err error, msg string) {
@@ -90,11 +88,11 @@ func migrate(cmd *cobra.Command, args []string) {
fmt.Print("Renaming pending keys...")
for _, qname := range queues {
oldKey := fmt.Sprintf("asynq:{%s}", qname)
if r.Client().Exists(ctx, oldKey).Val() == 0 {
if r.Client().Exists(context.Background(), oldKey).Val() == 0 {
continue
}
newKey := base.PendingKey(qname)
err := r.Client().Rename(ctx, oldKey, newKey).Err()
err := r.Client().Rename(context.Background(), oldKey, newKey).Err()
failIfError(err, "Failed to rename key")
}
fmt.Print("Done\n")
@@ -143,7 +141,7 @@ func migrate(cmd *cobra.Command, args []string) {
backupKey(base.ArchivedKey(qname)),
}
for _, key := range keys {
err := r.Client().Del(ctx, key).Err()
err := r.Client().Del(context.Background(), key).Err()
failIfError(err, "Failed to delete backup key")
}
}
@@ -231,7 +229,7 @@ func DecodeMessage(s string) (*OldTaskMessage, error) {
}
func updatePendingMessages(r *rdb.RDB, qname string) {
data, err := r.Client().LRange(ctx, backupKey(base.PendingKey(qname)), 0, -1).Result()
data, err := r.Client().LRange(context.Background(), backupKey(base.PendingKey(qname)), 0, -1).Result()
failIfError(err, "Failed to read backup pending key")
for _, s := range data {
@@ -239,11 +237,11 @@ func updatePendingMessages(r *rdb.RDB, qname string) {
failIfError(err, "Failed to unmarshal message")
if msg.UniqueKey != "" {
ttl, err := r.Client().TTL(ctx, msg.UniqueKey).Result()
ttl, err := r.Client().TTL(context.Background(), msg.UniqueKey).Result()
failIfError(err, "Failed to get ttl")
if ttl > 0 {
err = r.Client().Del(ctx, msg.UniqueKey).Err()
err = r.Client().Del(context.Background(), msg.UniqueKey).Err()
logIfError(err, "Failed to delete unique key")
}
@@ -292,7 +290,7 @@ func ZAddTask(c redis.UniversalClient, key string, msg *base.TaskMessage, score
if err != nil {
return err
}
if err := c.SAdd(ctx, base.AllQueues, msg.Queue).Err(); err != nil {
if err := c.SAdd(context.Background(), base.AllQueues, msg.Queue).Err(); err != nil {
return err
}
keys := []string{
@@ -307,7 +305,7 @@ func ZAddTask(c redis.UniversalClient, key string, msg *base.TaskMessage, score
msg.Deadline,
state,
}
return taskZAddCmd.Run(ctx, c, keys, argv...).Err()
return taskZAddCmd.Run(context.Background(), c, keys, argv...).Err()
}
// KEYS[1] -> unique key
@@ -343,7 +341,7 @@ func ZAddTaskUnique(c redis.UniversalClient, key string, msg *base.TaskMessage,
if err != nil {
return err
}
if err := c.SAdd(ctx, base.AllQueues, msg.Queue).Err(); err != nil {
if err := c.SAdd(context.Background(), base.AllQueues, msg.Queue).Err(); err != nil {
return err
}
keys := []string{
@@ -360,7 +358,7 @@ func ZAddTaskUnique(c redis.UniversalClient, key string, msg *base.TaskMessage,
msg.Deadline,
state,
}
res, err := taskZAddUniqueCmd.Run(ctx, c, keys, argv...).Result()
res, err := taskZAddUniqueCmd.Run(context.Background(), c, keys, argv...).Result()
if err != nil {
return err
}
@@ -375,7 +373,7 @@ func ZAddTaskUnique(c redis.UniversalClient, key string, msg *base.TaskMessage,
}
func updateZSetMessages(c redis.UniversalClient, key, state string) {
zs, err := c.ZRangeWithScores(ctx, backupKey(key), 0, -1).Result()
zs, err := c.ZRangeWithScores(context.Background(), backupKey(key), 0, -1).Result()
failIfError(err, "Failed to read")
for _, z := range zs {
@@ -383,11 +381,11 @@ func updateZSetMessages(c redis.UniversalClient, key, state string) {
failIfError(err, "Failed to unmarshal message")
if msg.UniqueKey != "" {
ttl, err := c.TTL(ctx, msg.UniqueKey).Result()
ttl, err := c.TTL(context.Background(), msg.UniqueKey).Result()
failIfError(err, "Failed to get ttl")
if ttl > 0 {
err = c.Del(ctx, msg.UniqueKey).Err()
err = c.Del(context.Background(), msg.UniqueKey).Err()
logIfError(err, "Failed to delete unique key")
}