2017-12-14 5 views
0

내가 메시지를 보내는 PHP 파일을 실행하는 cron 작업을 사용하고 있습니다. cron 작업 명령으로 실행될 PHP 파일의 끝에서 unlink(__FILE__);을 추가 할 예정입니다.PHP의 연결 해제 기능과 크론 작업

이 링크 해제 기능은 모든 메시지를 전송 한 후 현재 파일을 제거합니까?

나는 메시지를 보내는 시간이 필요하고 내 파일이 아니라 그것의 중간에있는 모든 메시지를 전송 한 후 삭제 할 것이기 때문에 내가 부탁하고 그 이유는 확실하지 않다.

둘째로; 메시지를 보내는 중 오류가 발생하면 어떻게됩니까? 오류가 있었는지 어떻게 알 수 있습니까? 함수가 이미 php 파일을 삭제했기 때문에! 오류가있는 경우 어떻게 찾을 수 있습니까?

+0

파일을 연결 해제하면 오류가 발생합니다. 인구를 근절하고 인구 통계 통계를 돌보는 것과 같습니다. 더 이상 존재하지 않을 파일을 기록하는 중 점 오류가 없습니다. 파일을 삭제하지 마십시오. – Martin

답변

0

이가는 방법이 아니다. 소스 코드 제거에 기반한 기능을 만드는 것은 따르고 싶지 않은 길입니다. 하나의 엉망이되어 다른 파일이 백업없이 삭제 될 수 있습니다. 그러나 우리 모두는 백업을 가지고 있습니다.)

대신 간단히 데이터베이스를 업데이트하는 것이 좋습니다. 메시지를 저장했습니다. 각 메시지를 보낸 후에 데이터베이스를 업데이트하고 sent=1을 설정합니다. 다음 번에이 스크립트를 실행하면 sent=1이 어디인지 모두 무시해야합니다. 이제 복제본을 보내지 않습니다.
이제 메시지별로 오류가 있는지 확인하고 기록 할 수 있습니다. 그리고 모든 것이 제대로 되었다면, 메시지를 보낼 때까지 DB를 업데이트 할 수 있습니다.


실제 질문에 답하려면 예. 그렇습니다. 그것은 아마도 타이밍이나 코딩 오류 일 것입니다. 파일을 삭제할 때 디버그하기가 어렵습니다.)

0

나는 그 메시지를 보내는 방법을 모르지만 스크립트가 동기식 (SMTP 서버와 같은)을 사용하여 스크립트를 순차적으로 실행하면 unlink() 호출이 매번 수행됩니다. 오류 처리에 대한

, 나는 파일이나 데이터베이스로 로그를 건의 할 것입니다. Monolog과 같은 널리 사용되는 라이브러리를 사용하면 쉽게 수행 할 수 있습니다.