2011-01-16 9 views
0

나는 약속 시간보다 15 분 전에 로그인해야하는 특정 사용자를 필요로하는 PHP 기반 약속 예약 응용 프로그램이 있습니다.사용자가 지정된 시간 전에 로그인했는지 확인해야합니다.

사용자가 로그인하는 것을 잊어 버린 경우 cron 작업을 통해 이메일 알림을 보내야합니다.

사용자가 로그인했는지 확인하는 플래그를 데이터베이스에 포함 시켰습니다.이 플래그는 로그인 할 때 켜지 며 사용자가 직접 로그 아웃 할 때 꺼집니다.

사용자의 세션이 만료되면 어떻게됩니까? 이 요소를 고려하기 위해 cron 작업에서 구현해야하는 것은 무엇입니까?

답변

1

아마도 데이터베이스를 사용하여 사용자 지정 세션 처리기를 구현해야합니다. PHP의 기본 처리기는 만료/가비지 수집 세션을 감지 할 수있는 모든 종류의 모니터링/이벤트 알림을 노출하지 않습니다.

COULD 외부 프로세스를 사용하여 수동으로 세션 파일을 들여다 볼 수 있지만 이는 다소 어려울 수 있습니다. 세션이 만료 될 수 있으며 모니터링 스크립트가 실행되기 전에 PHP 가비지 수집기가이를 가져옵니다.

"로그인 한"플래그를 데이터베이스에 저장 했으므로 아직 로그인하지 않은 사용자를 확인하는 cron 작업이 가장 쉬운 방법이지만 작업 예약은 다소 어려울 수 있습니다 추한. 임명 된 시간이 본질적으로 무작위 인 경우, 매분 (cron이 가장 짧은 간격으로 직접 지원되는) 작업을 실행하거나 각 이벤트에 대해 개별 작업을 예약해야합니다. 덜 거친 스케쥴링 포인트의 경우 cron의 와일드 카드/고정 소수점 구문을 사용할 수 있습니다 (예 : "*/5,10,15, ... * * * *"

+0

나는 사용자가 온라인 상태임을 확인하는 수단을 사용하고 있습니다. 확인이 완료되면 데이터베이스에 타임 스탬프가 저장됩니다. cron 작업은 확인이 제 때 완료되었는지 확인합니다. – Enthusiast

관련 문제