Laravel 캐시 잠금이 이미 잠겨 있습니까?
P粉818561682
P粉818561682 2024-03-27 13:28:19
0
1
498

TLDR: Laravel 원자 잠금을 잠그지 않고 $lock->get() 호출의 반환 값을 확인하지 않고 잠겨 있는지 확인하는 방법은 무엇입니까?

스케줄러를 통해 여러 개의 Laravel 명령이 실행되었습니다. 명령은 예약되지 않았으며 실행 중인 경우 다른 명령을 실행해서는 안 됩니다. 그래서 저는 Laravel에서 다음과 같이 원자 캐시 잠금을 도입했습니다:

으아아아

이것은 예상대로 작동하지만 여러 명령을 병렬로 실행할 때 때로는 다른 명령의 checkSetupRunning 기능을 통해 잠금이 획득되어 setup-command가 실행되지 않는 경우에도 실패하는 것처럼 보입니다.

그래서 자물쇠를 잠그지 않고 자물쇠가 획득되었는지 확인할 수 있는 방법이 필요합니다. 문서와 일부 코드를 확인했지만 해결책을 찾을 수 없습니다.

P粉818561682
P粉818561682

모든 응답(1)
P粉604507867

저희가 찾은 방법은 이렇습니다

으아아아

잠금 소유자(문자열)가 있으면 반환하고, 그렇지 않으면 false를 반환합니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿