مهلات قفل Redis

يستخدم Discourse DistributedMutex، وهو تطبيق لقفل Redis لأغراض متنوعة. يبدو أن تطبيق قفل Redis هذا يحتوي على مهلات زمنية، مما يجعله “عقداً مؤقتاً” بدلاً من “قفل”.

قد تنشأ مشاكل محتملة مثل ظروف السباق عندما ينتهي مهل قفل Redis بينما العمل المحمي بقفل Redis لم يكتمل بعد.

هذا صحيح، لكننا نحاول تصميم الأشياء بحيث تستغرق وقتًا أقل بكثير من مهلة قفل القفل.

إذا لم يكن لدينا أي نوع من المهلة، فقد ننتهي في وضع يكون فيه الميكس مقفلاً إلى الأبد. (على سبيل المثال، إذا فقدت عملية التطبيق الاتصال بـ Redis أثناء احتفاظها بالقفل)