웹 응용 프로그램 빌드.다른 사용자가 사용하는 자원의 가용성을 확인하십시오.
사용자가 자신의 브라우저에서 서버의 공유 리소스 호스트에 액세스 할 수 있지만 UserA가 이미 Resource1을 사용하고 있으면 UserA가 Resource1을 릴리스하거나 지정된 시간까지 ResourceB를 사용할 수 없어야합니다.
이 부분의 경우 : 튜플 목록 (resource, currentuser)이있는 MySQL 테이블을 사용하고 만료 된 튜플을 삭제하는 cron 작업을 실행하기로했습니다.
이제 UserB가 Resource1에 액세스하려고한다는 사실을 UserA에 알릴 수 있기를 원합니다. UserA에서 응답을 얻지 못하면 UserA는 Resource1에 대한 잠금을 해제 한 다음 UserB에서 리소스를 사용할 수 있습니다.
이 부분에서는 AJAX를 사용해야합니다. 나는 다음 해결책에 대해 생각했다 :
사용자의 브라우저 그가 살아 있고 있음을 증명하기 위해 주기적으로 AJAX 호출을한다. (매분마다) 호출 할 때 다른 사용자가 동일한 자원을 요청했다면 그는 서버에 도전해야한다. 주어진 시간 내에 요청 (예 : 보안 문자). 챌린지가 실패하면 사용자가 더 이상 존재하지 않음을 의미합니다 (브라우저를 열어 두거나 웹 페이지를 펼친 상태로 두었을 수도 있음).
까다로운 부분은 "주어진 시간 내에 서버 요청에 도전해야합니다 (예 : 보안 문자)"입니다. 그렇게하는 방법?
최상의 경로를 따르고 있습니까?