db에 기록하지 않고 실행했음을 유지하고 날이 바뀌면 다시 초기화 되어 실행에 제한을 주지 않는 방법을 어떻게 구현하나요?


예를들면 


오늘방문자가 1000~1050명 일때 아래 작업1 진행

작업1을 오늘 한적이 없다면 {

작업1

}


누군가에 의해 이미 코드가 실행이 되었다면 진행하지 않고 날짜가 바뀌면 다시 새로 시작하는...


  • ?
    DB에 기록하지 않는다면 파일을 사용하면 되겠죠.

    파일명을 20180828.lock 같은식으로 날짜가 보이도록 하던지,
    process1.lock 으로 해서 수정일을 확인하던지,
    어떤 방식이든 작업1의 마지막 실행일을 확인할 수 있는 파일을 하나 생성한 뒤,

    해당 파일의 존재여부 또는 수정일을 체크하면 되겠네요.



    $filename = date('Ymd') . '.lock';
    if(!file_exists($filename)){
    //CODE!
    file_put_contents($filename, '');
    }

    기존 파일(어제) 삭제와 같은 로직이 추가되어야겠지만,
    어쨌든 위 코드같은 방식이면 되지 않을까 싶습니다.
  • ? Lv30
    답변 감사합니다. 방법을 찾기 어려워 일단 푸시작업이라 푸시결과값 db에서 확인할 수 있는 컬럼이 있어 해당 부분이 오늘 날짜에 존재하는지 확인하는 과정으로 시도하고 있습니다.