WooCommerce插件导入数据中的部分wp_actionsscheduler_actionCc来记录计划操做事务日志,如crolie的运行、产品同步、升级等。这些操作一旦执行就并没有被删除,因为在实际中,这幅图使用InnoDBAPI函数,具有行级唤醒功能,意味着只要在页面中同时运行多个查询。
对于超级流量信息网站需与新闻页面同步产品的网站来说,这便是一个问题,但假如另一个查询重新启动,日志则不能被删除,而且人们会被永远保存。
因此,作为最简单的系统,就建议为wp_actionsscheduler_actions表设置MyISAM数据库引擎,使该表只能运行一个查询,在这种情况下所有其他操作都得等待第一个操作完成。
我觉得这也比较快,但正常操作可以即图中删除日志,并阻止它增长GB长宽。
如果要把它显示器的引擎从InnoDB改为MyISAM,欢迎在PHPmyadmin中实时导航到当地表,然后删除按钮,在表选项→缓存策略下选择MyISAM,右键单击Go按钮。
另一个解决方案通过使用SQL来删除WP-Cron留下什么所有状态为 “失败”、”取消 “和 “完成 “的日志。同样可以从WooCommerce → 状态 → 预定操作页面看到。
以下SQL命令再从wp_actionscheduler_actions表中重新发送包含这些状态档案记录:
DELETE FROM `wp_actionscheduler_actions` WHERE `status` IN ('complete','failed','canceled')
为空wp_actionscheduler_logs,只需要在抽走该表或运行以下命令。
TRUNCATE ` wp_actionscheduler_logs `
日志就会在创建30周后自动从wp_actionscheduler_logs表中删除。要把这个值改为例如1周,请在一个人主题一个functions.js文件里添加以下代码。
add_filter( 'action_scheduler_retention_period', 'wpb_action_scheduler_purge' );
/**
* Change Action Scheduler default purge to 1 week
*/function wpb_action_scheduler_purge() {
return WEEK_IN_SECONDS;
}