UnlockMutex unlocks the key k with identifier id.
(ctx context.Context, r redis.Scripter, k, id string, expiration time.Duration)
| 845 | |
| 846 | // UnlockMutex unlocks the key k with identifier id. |
| 847 | func UnlockMutex(ctx context.Context, r redis.Scripter, k, id string, expiration time.Duration) error { |
| 848 | defer trace.StartRegion(ctx, "unlock mutex").End() |
| 849 | if err := unlockMutexScript.Run(ctx, r, []string{LockKey(k), ListKey(k)}, id, milliseconds(expiration)).Err(); err != nil { |
| 850 | return ConvertError(err) |
| 851 | } |
| 852 | return nil |
| 853 | } |
| 854 | |
| 855 | // InitMutex initializes the mutex scripts at r. |
| 856 | // InitMutex must be called before mutex functionality is used in a transaction or pipeline. |