MySQL 데이터베이스에 트랜잭션을 저장 날짜를 처리하는 배경실패한 MySQL 쿼리를 다시 시도 하시겠습니까?
내가 PHP` (5.2)에서 페이팔 IPN 핸들러를 가지고있다. 사이트의 활동이 저조합니다.
때때로 MySQL 쿼리가 실패합니다. (매우 드물게) 나는 모든 것을 기록하고 PayPal 메시지를 처리하지 못한 경우 로그 파일을보고 PayPal 메시지를 다시 보낼 수 있습니다.
아이디어/우려
하지만 그 과정이 좀 더 강력하고 대신 핸들러가 포기하기 전에 MySQL의 쿼리를 다시 시도 할 수 있다면 궁금 해서요.
아마도 나는 잠시 기다리고 싶을 것입니다 - 서로간에 즉시 여러 쿼리 시도를 망칠 필요가 없습니다.
나는이에 대한 몇 가지 패턴을 찾을 기대했다 -는 점에서 많은 성공을하지 않고 "PHP는 MySQL의 쿼리 재시도"같은 물건을 찾고.
질문
이 거기에 좋은 연습 가이드가 있습니까?
기존 라이브러리는 무엇입니까?
원치 않는 부작용이 간단한 루프
sleep
각 쿼리 시도 사이의 확인, 또는 캔인가? 너무 원산지? PHP는 세계에서
왜 쿼리 후 오류를 확인하고 true 일 경우 다시 시도하지 않으시겠습니까? 또 다른 방법으로이 쿼리를 "실행 취소"로 표시 한 다음 cron 작업으로 모든 "실행 취소"를 실행하고 몇 분마다 다시 실행합니다. – stasgrin
쿼리가 실패한 직후 다시 시도 하시겠습니까? – thomthom
cron 작업에 관해서는 나머지 트랜잭션의 처리를 다시 시작하는 방법을 만들었습니다. 그것은 단 하나의 쿼리가 아니라 여러 세트와 이전의 데이터에 대한 일부 답장입니다. – thomthom