Beskrivelse
This plugin offers a way to queue Ajax calls, skipping the loading of the the bulk of WP system, saving considerable system resources in the form of CPU load and runtimes. This operation can be set for any AJAX call.
This is done by catching the AJAX calls early in the WP lifecycle, via an MU plugin. The calls are santized ( user should define fields ) and ar stored in a queue for later processing. The queue system is based on Automattic’s own Action Scheduler plugin.
Processing the calls : the calls are processed in bulk via a hook that is run by CRON.
The original motivation for this development was to handle the multitudes AJAX calls that the PixelYourSite evokes when the facebook conversation API is in use. The conversation API requires the server to send the tracking information instead of the client browser. This means possibly lots of calls even if the site is beyond walls of cache.
Who is it for
At this stage the plugin is a developer level plugin and is intended to be used as such. It requires defining fields for sanitation.
However, it comes with a basic implementation for the latest PixelYourSite API calls and can be easily activated without further configuration for most cases.
The flow
- AJAX call evoked in the client browser ->
- MU plugin catches the call if the configuration includes the specific action of the call ->
- Processor ( built-in or user defined ) checks the data and sanitizes it ->
- Data is stored in DB to be handled in queue. The data includes the call’s data and cookies ->
- Data is processed in batch via a CRON hook. The processing is done via the same “Processor”.
Basic terminogoly
Processor : A class/instance that is used to define the data map of fields for sanitation and later on, for batch processing. In many cases, the Processor will be quite simple. Please check the built-in Processor class “class-pys.php” under the “qacp/Processors” directory.
Data Map : The map of fields and their respectable sanitation functions. There’s an example in the “qacp/qacp-how-to.txt” file.
Things to Remember
- The Processor should define clearly what are the received fields and their sanitation functions.
- The action and processor should be registerd. There’s an example in the “qacp/qacp-how-to.txt” file.
Hooks
- qacp/processors/active_processors
- qacp/processors/actions
- qacp/processors/identify_processor
-
qacp/processors/instance_by_action_name
-
qacp_before_batch_processing
- qacp_before_process_entry_{$_action_name}
- qacp_before_process_entry
- qacp_process_one_entry_{$_action_name}
- qacp_process_one_entry
- qacp_mark_event_finished
- qacp_after_process_entry_{$_action_name
- qacp_after_process_entry
- qacp_after_batch_processing
Anmeldelser
Der er ingen anmeldelser for denne widget.
Bidragsydere & udviklere
“Queue Ajax Calls Performantly” is open source software. The following people have contributed to this plugin.
BidragsydereTranslate “Queue Ajax Calls Performantly” into your language.
Interesseret i udvikling?
Gennemse koden, tjek SVN repository, eller abonner på udviklerloggen via RSS.