WordPress 定时任务函数
WordPress 内置了很多定时任务处理函数,以下列出一些常用的函数:
一、添加定时任务
1、添加重复执行定时任务:wp_schedule_event(时间戳, 执行频率, hook, 参数)
2、添加一次性定时任务:wp_schedule_single_event(时间戳, hook, 参数)
二、查看事件下一次执行时间戳,一般用来查看事件是否已存在,避免重复添加任务:
wp_next_scheduled(hook, 参数),需要注意的是,参数要跟添加的时候一致。
三、删除定时任务
1、删除所有 hook 对应的定时任务:wp_unschedule_hook(hook, wp_error)
1、删除所有 hooke 和 args 对应的定时任务:wp_clear_scheduled_hook(hook, args, wp_error),这个函数是找出 hook 和 args 对应的所有任务,再通过 wp_unschedule_event 删除,最终更新 options 的 cron。
2、删除指定时间戳的定时任务:wp_unschedule_event(时间戳, hook, args, wp_error)
四、获取定时任务定义过的周期频率:wp_get_schedules(),可以通过过滤器 cron_schedules 添加频率类型,返回的结构大概是:
Array
(
[hourly] => Array
(
[interval] => 3600
[display] => Once Hourly
)
[twicedaily] => Array
(
[interval] => 43200
[display] => Twice Daily
)
[daily] => Array
(
[interval] => 86400
[display] => Once Daily
)
[weekly] => Array
(
[interval] => 604800
[display] => Once Weekly
)
)
五、查看待执行的定时任务:wp_get_ready_cron_jobs(),这个方法会把还没到执行事件的任务过滤。