Let's Shape The Future Of Your Investments!
Natoque iaculis cursus augue urna commodo aptent morbi tortor porttitor quis ornare.
WooCommerce 使用 Action Scheduler 来管理各种后台定时任务(WP Cron 的队列系统)。
常见任务包括:
这些任务保存在数据库中(默认表名):
wp_actionscheduler_actionswp_actionscheduler_claimswp_actionscheduler_groups任务状态字段 status 的常见取值如下:
| 状态名 | 含义 | 是否可安全删除 |
|---|---|---|
complete | 已执行完成 | ✅ 可删 |
cancelled | 已取消 | ✅ 可删 |
expired | 已过期未执行 | ✅ 可删 |
failed | 执行失败 | ✅ 可删 |
pending | 即将执行 / 待执行 | ⚠ 可删(WooCommerce 会重新生成) |
running | 正在执行中 | ❌ 不建议删 |
由于 Hostinger 的共享主机环境对 WP-CLI 命令 支持不完整,action-scheduler list / delete / reset 等子命令不可用。
因此推荐以下三种清理方式。
DELETE FROM wp_actionscheduler_actions
WHERE status IN ('complete', 'canceled', 'expired', 'pending', 'failed');
⚠️ 如果你的数据库表前缀不是 wp_(比如 wp7a_),请相应修改。
💡 WooCommerce 会自动重新生成必要的任务,删除不会导致系统崩溃。
public_html)中新建文件:clear-as.php<?php
require_once( dirname(__FILE__) . '/wp-load.php' );
global $wpdb;
// 删除所有非运行中的任务
$deleted = $wpdb->query("
DELETE FROM {$wpdb->prefix}actionscheduler_actions
WHERE status IN ('complete', 'cancelled', 'expired', 'pending', 'failed')
");
echo "已删除任务总数:{$deleted} 个\n";
php clear-as.phphttps://你的域名/clear-as.php安装官方插件 Action Scheduler(WooCommerce 官方维护):
✅ 优点:安全、可视化操作,不需要 SQL
⚠️ 缺点:如果任务数量太多(上千条),操作会变慢。
清理大量任务后,表空间不会立即缩小,可以执行以下语句优化数据库:
OPTIMIZE TABLE wp_actionscheduler_actions;
OPTIMIZE TABLE wp_actionscheduler_claims;
OPTIMIZE TABLE wp_actionscheduler_groups;
执行后数据库空间会立即回收,提升后台查询速度。
| 目标 | SQL 命令 |
|---|---|
| 删除已完成 | DELETE FROM wp_actionscheduler_actions WHERE status='complete'; |
| 删除失败任务 | DELETE FROM wp_actionscheduler_actions WHERE status='failed'; |
| 删除已取消任务 | DELETE FROM wp_actionscheduler_actions WHERE status='cancelled'; |
| 删除即将进行任务 | DELETE FROM wp_actionscheduler_actions WHERE status='pending'; |
| 删除所有非运行任务 | DELETE FROM wp_actionscheduler_actions WHERE status IN ('complete','cancelled','expired','pending','failed'); |
| 清空整个任务表 | TRUNCATE TABLE wp_actionscheduler_actions;(谨慎) |
| 优化表体积 | OPTIMIZE TABLE wp_actionscheduler_actions; |