crontab에서 매 5초마다 실행되게 한 후에...

crontab에서 매 5초마다 실행되게 한 후에...

QA

crontab에서 매 5초마다 실행되게 한 후에...

답변 2

본문

안녕하세요 초보가 며칠째 고민하다 이렇게 질문을 올립니다.

 

crontab에서 

// 이건 1분마다

*/1 * * * *     root   curl --request GET 'http://127.0.0.1/get.php';

//이건 10초마다

*/1 * * * *     root   curl --request GET 'http://127.0.0.1/result.php';

*/1 * * * *     root   curl --request GET 'http://127.0.0.1/result.php' & sleep 10;

*/1 * * * *     root   curl --request GET 'http://127.0.0.1/result.php' & sleep 20;

*/1 * * * *     root   curl --request GET 'http://127.0.0.1/result.php' & sleep 30;

*/1 * * * *     root   curl --request GET 'http://127.0.0.1/result.php' & sleep 40;

*/1 * * * *     root   curl --request GET 'http://127.0.0.1/result.php' & sleep 50;

 

이렇게 작성했는데 아주 가끔씩 result에서 db에 중복 insert를 해서 고민중에

데이터 처리하는게 10초가 넘을 경우 db 중복 insert가 되는게 아닐까 생각하게 되었습니다.

 

이경우 cronttab에서 뭔가 설정을 해줄수 있는지 궁금합니다.

php상에서는 

if ($row_chk['cnt'] > 0){

....................

}

중복이 됩니다.. 힌트라도 좀 부탁드립니다. ㅠㅠ

이 질문에 댓글 쓰기 :

답변 2

크론작업 관리용 db 테이블을 하나 만드시고,
크론 동작 실행시 상태값 1로 인서트 , 끝나면 2 로 업데이트 해주세요.

http://127.0.0.1/result.php 에서

if( 상태값 1 인 카운트가 있으면 ) exit; 

크론관리 테이블에 상태값 1 인서트

원하는 동작~~

크론관리 테이블에 상태값 1이었던것 2로 업데이트





 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 27
© SIRSOFT
현재 페이지 제일 처음으로