Woocommerce 점점 더 많은 고도로 사용되는 모듈이되었습니다 잡지 온라인. 서, 제품, 주식, 깨끗하고 직관적 인 코드, 간단한 관리 인터페이스 및 WOO를 위해 개발 된 수천 개의 쟁기 관리는 온라인 상점을 개발할 기회가있을 수있는 몇 가지 주장 일뿐입니다.
CMS와 마찬가지로 Woo는 다른 WordPress 플러그인과 다른 사용 또는 상호 작용 시나리오에서 발생할 수있는 확률에 대한 예외가 아닙니다.
리소스가있는 서버에서 하드웨어 꽤 관대합니다 데이터베이스 서비스 (mysqld) 거의 80을 요청하기 시작합니다– RAM 메모리의 90%. 110 오류가 주기적으로 어디에서 오는지 이해하지 못했기 때문에 꽤 심각한 문제입니다.110 : 연결 시간이 초과되었습니다).
SQL 프로세스를보다 신중하게 점검 할 때 데이터베이스에 두 가지 상당한 볼륨 테이블이 있음을 발견했습니다. wp_actionscheduler_actions 그리고 wp_actionscheduler_logs.
mod normal에서 예정된 행동 하지만 WooCommerce 동작 스케줄러 실행 후 자동으로 삭제해야합니다. 이런 일이 항상 발생하지는 않으며 상태와 함께 WP_ActionSchedier_actions에서 차단 된 상태로 남아 있습니다. 실패한,,, 취소,,, 보류 중 또는 완벽한.
테이블 위의 이미지에서 “wp_actionssscheduler” 그들은 단지 있습니다 15MB가 조금 넘습니다. 그들이 스크린 샷을 찍어 영감을받지 못해서 죄송합니다.1.2GB. 그럼에도 불구하고 15MB는 Woocommerce의 프로그래밍 된 동작을 포함하는 테이블에 충분합니다.
이 테이블 “부풀어 오른” 그로 인해 발생합니다 WP-Cron은 입력을 삭제하지 않습니다 관리 au 상태 “실패한“,,, “취소” 그리고 “완벽한“. 일반적으로 이러한 입력은 데이터베이스에서 자동으로 삭제해야합니다.
예정된 행동과 그들의 상태는 우리가 그것을 매우 쉽고 쉽게 볼 수 있습니다. Woocommerce →상태 →예약 된 행동.
우리가 부종을 청소하는 방법 “실패한“,,, “취소” 그리고 “완벽한” 에서wp_actionscheduler_actions 그리고 wp_actionscheduler_logs
phpmyadmin을 통해 데이터베이스에 액세스 한 다음 SQL에서 명령 줄을 실행합니다.
DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'canceled'
DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'complete'
DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'failed'
이 테이블이 정리되면 문제가 해결되었음을 의미하지는 않습니다. 위에서 말했듯이, 주요 원인은 WP-Chron 서비스의 여러 가지 이유로 비활성화하는 것입니다. 따라서 상태가있는 항목 “좀비” 그들은 더 이상 지워질 수 없습니다.
Wocommerce에 온라인 상점이 있고 플러그인을 통해 Facebook 상점에 연결되어 있음을 아는 것이 매우 중요합니다. “WooCommerce를위한 Facebook“, WooCommerce 제품을 Facebook 상점 계정과 자동으로 동기화합니다. 그리고 그것은 약 15 분을합니다. 이 SQL 입력은 제어되지 않으면 수십만 줄을 얻을 수 있습니다. “wc_facebook_regenerate_feed” ~에 “wp_actionscheduler_actions“.
이 간격은 주문이 많은 상점에 적합하며 Facebook 상점의 재고가 지속적으로 업데이트되어야합니다. 여전히 Facebook에서 이러한 동기화를 고려하고 24 시간마다 매장을 수행 할 수 있다면 아래 코드 라인이 도움이 될 수 있습니다.
WordPress / WooCommerce 테마의 functions.php 파일을 열고 매장을 추가하고 추가하십시오.
add_filter( 'wc_facebook_feed_generation_interval', function(){ return HOUR_IN_SECONDS * 24; } );
다음으로 자동 청소를 위해 일주일 간격을 설정할 수 있습니다.
add_filter( 'action_scheduler_retention_period', 'wpb_action_scheduler_purge' );
function wpb_action_scheduler_purge() {
return WEEK_IN_SECONDS;
}
이러한 변경 사항을 저장하면 거대한 테이블에 아무런 문제가 없습니다. “wp_actionscheduler_actions”.
@몰래 하기
도움을 주셔서 감사합니다. 당신은 내 하루를 저장하고 쇼핑합니다. 나는 웹숍이 충돌 한 후 이것을 처음 발견했다. 많은 플러그인이 해당 테이블에 출력을 버리기 시작했고 채워집니다.… Wooping 9.2GB 테이블로 인해 호스트는 자신의 훌륭한 PPP 시간을 포기했습니다. 이제 나는 훌륭한 코드로 다듬고 있습니다!
이 테이블이 밧줄을 떨어 뜨리는 것에 대한 질문 “WPB_ACTION_SCHEDULER_PURGE” DB의 기본값입니까? 내 이름으로 이름을 바꾸십시오 (기본값은 내 DB입니다 'WP_.’ ) 아니면 기능입니까?
도움과 멋진 기사에 감사드립니다
인사
Netz