Wordpress plugins
Task Scheduler

Task Scheduler

Version : 1.4.5
Tested up to : 4.8.2
Number of download : 6653
Average rating : 5 / 5 on 4 votes 4 votes, 5 avg.rating

Screenshots

Task Scheduler
Task Scheduler
Task Scheduler
Task Scheduler

Handle Massive Number of Actions Do you have specific tasks which need to run at your desired time? Do you use WordPress as a proxy to generate data from external sources? As WordPress has evolved into a phase of application platforms, a more enhanced task management system needed to emerge. Currently, with WP Cron, if you register a large number of actions, for example, 1000 tasks to run immediately and one of them stalls, it affects all the other actions preventing them from being loaded at the scheduled time. Also, the scheduled tasks won’t be triggered if there is no visitor on the site. The goal of this plugin is to resolve such issues and become the perfect solution for WordPress powered back-end application servers to provide full-brown API functionalities. What it does (optional) creates periodic background access to the site. triggers tasks registered by the site owner at desired time or interval. Built-in Actions Delete Posts – performs bulk deletion of posts based on the post type, post statuses, taxonomy, and taxonomy terms. Send Email – sends email to specified email addresses. Clean Transients – deletes expired transients (caches). Check Web Sites – accesses specified web pages and checks certain keywords. Run PHP Scripts – runs PHP scripts of your choosing. Custom Action Modules Auto Post – creates posts automatically. Extensible This is designed to be fully extensible and developers can add custom modules including actions and occurrence types. Create a Custom Action You can run your custom action with Task Scheduler and run it at scheduled times, once a day, with a fixed interval, or whatever you set with the plugin. Place the code that includes the module in your plugin or functions.php of the activated theme. 1. Decide your action slug which also serves as a WordPress filter hook. Say, you pick my_custom_action as an action name. 2. Use the add_filter() WordPress core function to hook into the action. /** * Called when the Task Scheduler plugin gets loaded. */ function doMyCustomAction( $isExitCode, $oRoutine ) { /** * Do you stuff here. */ TaskScheduler_Debug::log( $oRoutine->getMeta() ); return 1; } /** * Set the 'my_custom_action' custom action slug in the Select Action screen * via Dashboard -> Task Scheduler -> Add New Task. */ add_filter( 'my_custom_action', 'doMyCustomAction', 10, 2 ); Please note that we use add_filter() not add_action() in order to return an exit code. Return 1 if the task completes and 0 when there is a problem. You can pass any value except null. 3. Go to Dashboard -> Task Scheduler -> Add New Task. Proceed with the wizard and when you get the Select Action screen after setting up the occurrence, type my_custom_action, the one you defined in the above step. The action slug set in the field will be triggered at the scheduled time. It will be easier for you to modify an existent code. You can download the zip file and install it on your site. Create a Custom Action Module If you want your action to be listed in the Select Action screen, you need to create an action module. To create an action module, you need to define a class by extending a base class that Task Scheduler prepares for you. 1. Define your custom action module class by extending the TaskScheduler_Action_Base class. class TaskScheduler_SampleActionModule extends TaskScheduler_Action_Base { /** * The user constructor. * * This method is automatically called at the end of the class constructor. */ public function construct() { // Debug // TaskScheduler_Debug::log( get_object_vars( $this ) ); } /** * Returns the readable label of this action. * * This will be called when displaying the action in an pull-down select option, task listing table, or notification email message. */ public function getLabel( $sLabel ) { return __( 'Sample Action Module', 'task-scheduler-sample-action-module' ); } /** * Returns the description of the module. */ public function getDescription( $sDescription ) { return __( 'This is a sample action module.', 'task-scheduler-sample-action-module' ); } /** * Defines the behaviour of the task action. * */ public function doAction( $isExitCode, $oRoutine ) { /** * Write your own code here! Delete the below log method. * * Good luck! */ TaskScheduler_Debug::log( $oRoutine->getMeta() ); // Exit code. return 1; } } In the doAction() method of the above class, define the behaviour of your action what it does. The second parameter receives a routine object. The object has a public method named getMeta() which returns the associated arguments. 2. Use the task_scheduler_action_after_loading_plugin action hook to register your action module. To register your action module, just instantiate the class you defined. function loadTaskSchedulerSampleActionModule() { // Register a custom action module. include( dirname( __FILE__ ) . '/module/TaskScheduler_SampleActionModule.php' ); new TaskScheduler_SampleActionModule; } add_action( 'task_scheduler_action_after_loading_plugin', 'loadTaskSchedulerSampleActionModule' ); 3. Go to Dashboard -> Task Scheduler -> Add New Task. Proceed the wizard and when you get the Select Action screen, choose your action. You can set your custom arguments in the Argument (optional) field if necessary. The set values will be stored in the argument element of the array returned by the getMeta() public method of the routine object. It will be easier for you to modify an existent module. Get an example action module which comes as a plugin from this page. Download and activate it on your test site. Then modify the code, especially the doAction() method which defines the behavior of the action. Terminologies Task – a rule which defines what kind of action routine to be performed at a specified time. Routine – a main action routine created by a task. Depending on the action, it creates an action thread to divide its routine. Thread – a divided action sub-sequential routine created by a routine. For example, The email action creates threads and sends emails per thread instead of sending them all in one routine to avoid exceeding the PHP’s maximum execution time.

Download now