2012-11-08 2 views
0

사용자가 브라우저를 닫을 때 만료되도록 세션을 설정할 수 있다는 것을 알고 있습니다. 이제 다음 단계가 필요합니다. 문제는 다음과 같습니다. "시작"버튼을 클릭하여 작업을 시작할 수 있습니다. 이것은 데이터베이스에 sotred 인 튜플을 생성합니다. 여기에는 IN PROGRESS로 설정된 "상태"라는 필드가 있습니다. 사용자가 "end"버튼을 누르면 상태 값이 FINISHED로 변경됩니다.세션이 만료되면 Django가 실행됩니다.

이제 "시작"과 "끝"사이에 사용자가 브라우저를 닫으면 세션이 만료됩니다. 내가하고 싶은 것은 세션이 만료되었다는 것을 가로 채고 데이터베이스에서 튜플을 제거하는 것입니다.

기본적으로 세션이 만료 될 때 함수를 실행하고 싶습니다.

답변

0

브라우저에서 쿠키가 만료 됨으로써 '만료'세션이 발생하므로 장고 서버는 실제로 이것이 언제 발생하는지 알 수 없습니다.

귀하의 경우, cron 또는 celery 작업의 이전 데이터를 정기적으로 삭제하십시오.

+0

java의 리스너와 같은 것이 존재하지 않습니까? 기본적으로 사용자가 브라우저를 닫을 때 알려주는 내용입니까? – EsseTi

+0

@EsseTi는 Java에 존재하지 않습니다. –

+0

@EsseTi Django는 서버에서 실행되며 브라우저가 창을 닫을 때 서버에 알려주지 않으므로 사용중인 서버 측 프레임 워크/언어에 상관없이 비 활동으로 추측하는 것 외에는 다른 방법을 알 수 없습니다. – JeffS

관련 문제