@@ -144,26 +144,36 @@ public function unlock(array $payload): bool
144
144
}
145
145
146
146
/**
147
- * Delay a lock if it still effective.
147
+ * Reset a lock if it still effective.
148
148
*
149
149
* @param array $payload
150
150
* @param int $expire
151
- * @return bool
151
+ * @return array
152
+ * - Not empty for relock success.
153
+ * - Empty for cant relock.
152
154
*/
153
- public function delay (array $ payload , int $ expire ): bool
155
+ public function relock (array $ payload , int $ expire ): array
154
156
{
155
- if (! isset ($ payload ['key ' ], $ payload ['token ' ])) {
156
- return false ;
157
+ if (
158
+ isset ($ payload ['key ' ], $ payload ['token ' ])
159
+ && 1 === $ this ->client ->eval (
160
+ $ this ->expireType === self ::EXPIRE_TIME_MILLISECONDS ?
161
+ LuaScripts::pexpire () : LuaScripts::expire (),
162
+ 1 ,
163
+ self ::KEY_PREFIX . $ payload ['key ' ],
164
+ $ payload ['token ' ],
165
+ $ expire
166
+ )
167
+ ) {
168
+ return [
169
+ 'key ' => $ payload ['key ' ],
170
+ 'token ' => $ payload ['token ' ],
171
+ 'expire ' => $ expire ,
172
+ 'expire_type ' => $ this ->expireType ,
173
+ ];
157
174
}
158
175
159
- return 1 === $ this ->client ->eval (
160
- $ this ->expireType === self ::EXPIRE_TIME_MILLISECONDS ?
161
- LuaScripts::pexpire () : LuaScripts::expire (),
162
- 1 ,
163
- self ::KEY_PREFIX . $ payload ['key ' ],
164
- $ payload ['token ' ],
165
- $ expire
166
- );
176
+ return [];
167
177
}
168
178
169
179
/**
0 commit comments