나는 n 분마다 실행해야하는 스크립트가 있습니다. n 분이 동적이므로 cron 작업을 설정하여 특정 시간에 스크립트를 호출 할 수 없습니다.PHP time_sleep_until()과 "MySQL 서버가 없어졌습니다"
그래서 내가 수행 한 모든 시간은 n 분 후에 배열에 저장되므로 스크립트가 실행될 때 먼저 현재 시간이 배열에 있는지 확인합니다. 배열에서 발견되면 계속 실행하고 그렇지 않으면 종료합니다.
스크립트를 실행하려면 cron 작업을 사용하여 매분마다 배열의 시간을 확인해야합니다. 불행히도, 내 웹 호스트는 최소 간격으로 5 분만 허용합니다. 그래서 스크립트가 호출 될 때마다 $current_time
과 $current_time + (4*60) // 4 minutes
사이의 값이 배열에 있는지 확인합니다. 필요하다면 나는 time_sleep_until
을 사용하여 시간이 배열에있는 값에 도달 할 때까지 스크립트를 지연시킵니다.
내 스크립트가 10:05에 실행되고 배열에있는 값이 10:06 인 경우 실행을 계속하기 전에 10:06까지 스크립트를 잠자기 상태로 둘 수 있습니다. 그러나 수면 시간이 1 분 정도면 Mysql server gone away
이됩니다.
어떻게 방지 할 수 있습니까? 또는 이것을 할 수있는 더 좋은 방법이 있습니까?
감사합니다.
수면 전에 연결을 끊고 다시 연결 하시겠습니까? – Charles
은 그것을 생각하지 않았고 시도 할 것입니다. 감사! – u11
찰스 덕분에 성공했습니다! – u11