나는 약간의 조언을 얻을 수 있기를 바라고있다.PHP CRON 작업과 사용자 로그인에서 함수 호출하기
필자는 PHP/MySQL 시스템에 회계 원장을두고 있으며, 원장에게 간격을두고 청구서를 보냅니다 (이 예에서는 한 달에 한 번). 또한 특정 날짜 이후에 적용해야하는 연체료가 있습니다. 인보이스의 '전기'일과 '늦은 날짜'는 DB에 이미 있습니다.
장부 항목을 자동으로 (한 달에 한 번) 적용하는 스크립트를 실행하는 가장 좋은 방법은 궁금합니다. 자동으로 연체료를 입력합니다 (필요한 경우 한 달에 한 번). 모든 시스템 사용자에게이 날짜는 다르며 내가 말한 것처럼 DB에 모두 저장됩니다. 내가보기로 내 옵션은 다음과 같습니다
- 는 하루에 한 번 (즉 오전 12시 매일) 실행 CRON 작업 - 그리고 날짜 조건이 충족되는 경우 작업을하고, 모든 항목을 통과합니다.
나는 매일 같은 시간에 모든 것을 한꺼번에 처리하기 때문에이 방법이 마음에 듭니다.
다음과 같은 이유로이 방법이 걱정됩니다. (1) CRON 작업이 예약되었을 때 서버가 다운 된 경우 CPANEL이 그 날을 완전히 건너 뛸 수 있습니까? 그리고 (2) 100k 또는 100Million 항목을 살펴 본다면 이것이 실행될 때마다 내 서버에서 참을 수없는 부하가됩니까? 그것을 얻을 수 있기 때문에 날짜 조건이 충족 될 경우
콜이 스크립트에서, 만 때 관련 사용자가 로그인을 "작동합니까"할 수 있습니다.
나는만큼이 방법을 좋아하지 않는 이유입니다 신청할 청구서 수와 적용 할 연체료가 얼마나 많은지 복잡한 점이 많습니다. 또한, 나는 모든 사람의 모든 것을 볼 수있는 "관리자"사용자가 - 그 사용자는
...하지 세입자가 최근 충분히 로그인하지 않은 경우 정보 원장 최신 내가 좋아하는 않는 reasn을 이있을 수 있습니다 이 방법은 분명히 서버에 부하가 적기 때문입니다 ...
아마도 나는 생각하는 것 이상입니다. 확실하지 ...하지만 조언을 많이 주시면 감사하겠습니다. 감사합니다. .
사용자가 1 년 동안 시스템에 로그인하지 않으면 어떻게됩니까? 인보이스를 보내지 않겠습니까? – zerkms
매일 수행하는 경우 업데이트가 필요한 대량의 행이 실제로있을 것으로 예상합니까? 두 번째 경우에는 2 가지 일을하는 것이 좋습니다. 1. 관리자가 특정 사용자를 볼 때 결과 계산. 2. 페이지에 통계가있는 경우 관리자에게 데이터를 동기화하는 버튼을 제공하십시오. 이제는 사용자가 결코 돌아 오지 않을 수도 있고 관리자가 게으 르기 때문일 수도 있습니다. 두 가지 방법의 조합을 시도 할 수 있습니다. 추신 내가 아는 한은 cronjob이 실패합니다. 그것은 "건너 뛴다". – Khez
** @ zerkms ** - 귀하의 요지를 보는 동안 사실은 여전히 코드가 궁극적으로 강건하기를 원합니다 ... 그리고 돈을 모으는 것에 대해 진지해질 때까지 2 ~ 3 개월은 일반적입니다 ... * * @ Khez ** - 100Mil 행을 업데이트하지는 않지만 100Mil 행을 확인해야합니다 ... – Shackrock