2012-12-06 3 views
1

내 사이트작은 오류 갭 그러나 큰

작업이있다 (시간대 또는 작업에 대해 걱정하지 마십시오) 하루 23시 59분 59초이 끝나기 전에 사이트 일상에서 특정 작업을 완료하기 위해 사용자가 필요 $today_status (complete 또는 incomplete)

내가이 일 할 수있는 일 (0시 0분 1초)의 시작에서 실행되는 크론이 모든 작업이 완료된 경우

  1. 확인 어제 (체크 아직 불완전한 모든 작업).
  2. 어제의 모든 작업을 완료되지 않은 상태로 다시 설정하여 사용자가 오늘 다시 작업을 시작할 수 있도록하십시오. 사용자가 다음과 같은 두 가지 타이머 중 하나를 볼 수 있도록

각 작업은 옆에 표시 카운트 다운 타이머가 있습니다

  1. (IF $today_status = incomplete를) - 그들이 작업을 완료하는 데 남은 시간을 (하루가 끝날 때까지 카운트 다운).
  2. (IF $today_status = complete) - 두 번째 작업을 완료하기 전에 대기해야하는 시간입니다 (하루가 끝날 때까지 카운트 다운). 그것은 그러나 크론은 00까지 모든 작업 처리를 완료 할 수 없습니다 0시 0분 1초에서 새로운 하루로 변신 한 빨리

    크론을 실행합니다 :

나는 관련이 작은 문제를 가지고 : 07 : 19 그래서 7 분의 에러 갭이 있습니다 ... 이것은 더 많은 사용자가 가입할수록 증가 할 수 있습니다.

사용자가 전 날의 작업을 완료 한 다음 그 다음날 00:03:27에 작업을 보는 경우 $today_status은 여전히 ​​completed 일 수 있습니다. 전날 ... 아직 거기 타이머는

23시 54분 33초 이 여전히 있기 때문에

그것은 위를 말할 것이다 (시간은 당신이 다음 작업을 시작하기 전에 기다려야 왼쪽) 말할 것이다 '완료'상태 ... 그러나 사용자가 일찍 로그인 했으므로 일찍 일을 완료 할 수는 있지만 사이트는 다른 말로 말하고 있습니다 ... 완료 될 때까지 내일까지 기다려야한다고 말하고 있습니다 전자 다음 작업 ...

내가 미리 ... 덕분에 내가 올바르게 설명하고 희망 당신이 여기까지 ... 어떤 도움이 크게 감사합니다를 읽고 방해 한 경우 너무 많은 감사

+0

cron의 시작 부분에 모든 작업에 대해 설정되는 세 번째 상태 '컴퓨팅'을 추가 할 수 있습니다. – tmuguet

답변

0

해결 방법 만 생각할 수 있습니다. cron이 점점 더 느려지므로 마지막으로 cron이 주어진 작업을 수정할 때 표시 할 "last_cron_date"필드를 추가 할 수 있습니다. 따라서 UI에서 작업이 cron TODAY에 의해 통과되었는지 확인하고 남아있는 경우이를 표시합니다. cron이 아직이 작업에 이르지 않았다면 날짜 필드는 어제 일 것입니다.이 작업을 제대로 처리 할 수 ​​있습니다 - "이 작업이 현재 처리 중"이라고 말하거나 처리하도록 허용하거나 처리 시간 차이.