Events Reschedule 08
August 3, 2015
Action hooking support added in the reschedule tool.
Updated code on GitHub
I've pushed the modified and empowered code to GitHub and added, under the same API, the power to reschedule cron jobs and re-hook into actions.
I'm not going to duplicate the README file contents as that comes with the repository.
A real world example code
I can pull a generalized code example from my daily work; I need to keep a post cache updated if a certain cache plugin is not in place or not active and, in the meanwhile, create the cache for those posts that are added to the database not using the WordPress default Admin UI but with an import script.
The first task I cover with:
tad_reschedule( array('Cache_Builder', 'rebuild_post_cache' ) )
->each( 'post_updated' )
->until( !function_exists( 'super_cache_init' ) )
->with_args( 3 ) // $post_id, $post_after, $post_before
->priority( 999 ); // let's go late
while the second task I handle like
$batch_size = 100;
tad_reschedule( 'my_cache_rebuild' )
->each( 60 )
->until( array('Cache_Builder', 'has_uncached_posts') )
->with_args( array($batch_size) );
In plain terms
Until the
super_cache_init
function is not defined (the super caching plugin is not installed or activated) on eachpost_updated
action run theCache_Builder::rebuild_post_cache
method passing it 3 args.
Until there are not cached posts schedule a 60 seconds cron job to do themy_cache_rebuild
action passing it the batch size.