WP-Cron Control
Thorsten Ott, Erick Hitter, Automattic By Thorsten Ott, Erick Hitter, Automattic

June 07, 2017

WP-Cron Control Plugin

This plugin allows you to take control over the execution of cron jobs.

This plugin allows you to take control over the execution of cron jobs. It’s mainly useful for sites that either don’t get enough comments to ensure a frequent execution of wp-cron or for sites where the execution of cron via regular methods can cause race conditions resulting in multiple execution of wp-cron at the same time. It can also help when you run into posts that missed their schedule.

This plugin implements a secret parameter and ensures that cron jobs are only executed when this parameter is existing.

Limitations

This plugin performs a remove_action( 'sanitize_comment_cookies', 'wp_cron' ); call in order to disable the spawning of new cron processes via the regular WordPress method. If wp_cron is hooked in an other action or called directly this might cause trouble.

Installation

  • Install either via the WordPress.org plugin directory, or by uploading the files to your server.
  • Activate the Plugin and ensure that you enable the feature in the plugins’ settings screen
  • Follow the instructions on the plugins’ settings screen in order to set up a cron job that either calls php wp-cron-control.php http://blog.address secret_string or wget -q "http://blog.address/wp-cron.php?doing_wp_cron&secret_string"
  • If you like to have a global secret string you can define it in your wp-config.php by adding define( 'WP_CRON_CONTROL_SECRET', my_secret_string' );

Screenshots

  1. Settings screen to enable/disable various features.

    Settings screen to enable/disable various features.

FAQ

Installation Instructions

  • Install either via the WordPress.org plugin directory, or by uploading the files to your server.
  • Activate the Plugin and ensure that you enable the feature in the plugins’ settings screen
  • Follow the instructions on the plugins’ settings screen in order to set up a cron job that either calls php wp-cron-control.php http://blog.address secret_string or wget -q "http://blog.address/wp-cron.php?doing_wp_cron&secret_string"
  • If you like to have a global secret string you can define it in your wp-config.php by adding define( 'WP_CRON_CONTROL_SECRET', my_secret_string' );

Changelog

Version 0.7.1

  • Security hardening (better escaping, sanitization of saved values)
  • Update plugin to use core’s updated cron hook

Version 0.7

  • Remove unneeded use of $wpdb->prepare() that triggered PHP warnings because a second argument wasn’t provided.
  • Update interface text to be translatable.

Version 0.6

  • Make sure that validated wp-cron-control requests also are valid in wp-cron.php by setting the global $doing_wp_cron value

Version 0.5

  • Adjustments for improved cron locking introduced in WordPress 3.3 https://core.trac.wordpress.org/changeset/18659

Version 0.4

  • Implementing feedback from Yoast http://yoast.com/wp-plugin-review/wp-cron-control/, fixing button classes, more inline comments

Version 0.3

  • Added option to enable extra check that would search for missing jobs for scheduled posts and add them if necessary.

Version 0.2

  • Added capability check in settings page

Version 0.1

  • Initial version of this plugin.

Details

  • Version: 0.7.1
  • Active installations: 2,000
  • WordPress Version: 3.4
  • Tested up to: 4.8.25

Ratings


5 Stars
4 Stars
3 Stars
2 Stars
1 Stars