2012-06-18 3 views
0

매초마다 데이터베이스를 검사하는 PHP 스크립트가 있습니다 (초당 100 % 중요하지는 않습니다.) 캡션 시스템을 위해 json 파일에 출력을 씁니다. 이것은 성공 로그 파일을 가지고 있습니다스크립트는 1 분에 한 번만 실행하지만 매 초마다 실행합니다.

꽤 많은 시간도 기록하고 싶습니다.

"."을 사용하여 마지막 줄에 기록했습니다. 그것이 달릴 때마다.

2012-06-18 10:45:51 UTC | ......................... 

이것은 매우 긴 행으로 이어질 수 있으며 이후 로그 검사 시스템이 손상 될 수 있습니다.

그래서 나는 5 분마다

// 2012-06-18 10:45:51 UTC | wait. 
if ((int) date('i') % 5 == 0) 
{ 
log ($date . ' | wait. '); 
} 

를 실행하는 라인이 설정을 변경해야하지만이 모든 5 분 매 초/반복을 기록합니다. 초를 추가 할 수는 있지만 항상 1 초마다 실행되는 것은 아닙니다.

n 회에 한 번 기록하는 방법이 있습니까?

+0

제가 궁금한 점은 스크립트가 어떤 정전을 되돌아보기 위해 얼마나 자주 로그하는 것이 좋을까요? 어쩌면 유니크 탑 커맨드처럼 5 분/10 분/60 분의 합계 평균은 단지 매초마다의 흐름보다 그래프에 더 나을 수도 있습니다 .... – tristanbailey

+0

매 시간마다 중단을 정확하게 체크 할 수있을 것입니다. 초당 한 번은 꽤 합리적으로 보였다. 많은 리소스가 사용되어서는 안됩니다. –

+0

수면 방법을 사용하면 효과가 없습니까? => sleep (5 * 60); – VDP

답변

1

스크립트는 마지막 실행 시간에 보조 임시 파일에 쓸 수 있습니다. 그런 다음 다음 실행시 해당 값을로드하고 현재 시간 및 저장된 값과의 차이를 계산할 수 있으며 N보다 크면 항목을 로그 파일에 기록하십시오.

+0

나는 커맨드 라인 스크립트와 비슷한 것에 대해 생각하고 있었고 웹 페이지가 아니라 내가 세션을 할 수 있다고 생각했다. 다음 로그 간격을 파일에 기록하고 로그를 업데이트 할 수 있습니다. 그런 다음 다음 간격이 true가 될 때까지 파일을 확인하고 다음 간격으로 로그하고 업데이트하십시오. – tristanbailey

관련 문제