임 개체를 저장할 때 "일반 오류 : 2006 MySQL 서버가 사라졌습니다."라는 오류가 발생합니다.2006 개체를 저장하는 중 MySQL 서버가 사라졌습니다.
임은 너무 복잡 그것 때문에 코드를 붙여하지 않을 나는이 예제와 함께 설명 할 수 있지만, 첫 번째 상황의 비트 :
임 Phalcon 작업을 사용하여 명령 줄을 통해 기능을 실행,이 작업은을 생성 Model 클래스의 객체와 그 객체는 웹 페이지에서 몇 가지 작업을 수행하는 casperjs 스크립트를 호출합니다. 일부 데이터를 저장하면 여기에 가 가끔 mysperver가 생깁니다. casperjs가 약간 길어질 때만입니다. Task.php
Class.php에서function doSomeAction(){
$object = Class::findFirstByName("test");
$object->performActionOnWebPage();
}
그것은
$ anotherObject-> 저장처럼 보인다 function performActionOnWebPage(){
$result = exec ("timeout 30s casperjs somescript.js");
if($result){
$anotherObject = new AnotherClass();
$anotherObject->value = $result->value;
$anotherObject->save();
}
}
(); 메서드는 시간의 영향을받습니다 exec ("timeout 30s casperjs somescript.js");은 대답을하지 않아도됩니다. 그것은 실패하고 동일한 입력으로 성공적으로 저장되기 때문에 저장된 데이터의 문제가 아니며, casperjs가 값을 반환하는 데 걸린 유일한 차이점이 있습니다. 어떤 이유로 phalcon이 "Class.php"함수의 전체 실행 중에 MySQL 연결을 열어서 casperjs가 너무 오래 걸리면 시간 초과를 유발하는 것처럼 보입니다. 이 문제를 해결하거나 이에 대한 대안을 찾도록 도와 주시겠습니까?
네, 저의 첫 번째 추측 이었지만, casperjs가 빠르면 문제없이 모든 데이터가 동일한 데이터로 저장됩니다. 또한 매우 간단한 데이터입니다. – subharb
문제는 이전의 casperjs가이 변수보다 더 많은 시간을 들여야 할 것 같은 wait_timeout 인 것처럼 보입니다. 이제 casperjs 코드가 최적화되어 신속하게 실행되고 문제가 발생하지 않습니다. 우선 DB 변수를 변경하는 대신 코드를 최적화해야합니다. 맹목적으로. –