Skip to content

Commit 228c1b4

Browse files
committed
Fix the celery beat distributed lock timeout
1 parent f099777 commit 228c1b4

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

backend/app/task/utils/schedulers.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -452,7 +452,7 @@ def schedule(self) -> dict[str, ModelEntry]:
452452
return self._schedule
453453

454454

455-
async def extend_scheduler_lock(lock):
455+
async def extend_scheduler_lock(lock: Lock):
456456
"""
457457
延长调度程序锁
458458
@@ -461,7 +461,7 @@ async def extend_scheduler_lock(lock):
461461
"""
462462
while True:
463463
await asyncio.sleep(DEFAULT_LOCK_INTERVAL)
464-
if lock:
464+
if await lock.owned():
465465
try:
466466
await lock.extend(DEFAULT_MAX_LOCK_TIMEOUT)
467467
except Exception as e:
@@ -482,7 +482,7 @@ def acquire_distributed_beat_lock(sender=None, *args, **kwargs):
482482

483483
logger.debug('beat: Acquiring lock...')
484484
lock = redis_client.lock(
485-
scheduler.lock_key,
485+
name=scheduler.lock_key,
486486
timeout=DEFAULT_MAX_LOCK_TIMEOUT,
487487
sleep=scheduler.max_interval,
488488
)

backend/plugin/tools.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,9 @@ def parse_plugin_config() -> tuple[list[dict[str, Any]], list[dict[str, Any]]]:
178178
# 重置插件变更状态
179179
run_await(current_redis_client.delete)(f'{settings.PLUGIN_REDIS_PREFIX}:changed')
180180

181+
# 关闭连接
182+
run_await(current_redis_client.aclose)()
183+
181184
return extend_plugins, app_plugins
182185

183186

0 commit comments

Comments
 (0)