Title: Queue Ajax Calls Performantly
Author: eddr
Published: <strong>April 7, 2025</strong>
Last modified: April 7, 2025

---

Search plugins

This plugin **hasn’t been tested with the latest 3 major releases of WordPress**.
It may no longer be maintained or supported and may have compatibility issues when
used with more recent versions of WordPress.

![](https://s.w.org/plugins/geopattern-icon/queue-ajax-calls-performantly.svg)

# Queue Ajax Calls Performantly

 By [eddr](https://profiles.wordpress.org/eddr/)

[Download](https://downloads.wordpress.org/plugin/queue-ajax-calls-performantly.1.1.3.zip)

 * [Details](https://vec.wordpress.org/plugins/queue-ajax-calls-performantly/#description)
 * [Reviews](https://vec.wordpress.org/plugins/queue-ajax-calls-performantly/#reviews)
 * [Development](https://vec.wordpress.org/plugins/queue-ajax-calls-performantly/#developers)

 [Support](https://wordpress.org/support/plugin/queue-ajax-calls-performantly/)

## Description

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

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Queue Ajax Calls Performantly” is open source software. The following people have
contributed to this plugin.

Contributors

 *   [ eddr ](https://profiles.wordpress.org/eddr/)
 *   [ secretchord.io ](https://profiles.wordpress.org/secretchord/)

[Translate “Queue Ajax Calls Performantly” into your language.](https://translate.wordpress.org/projects/wp-plugins/queue-ajax-calls-performantly)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/queue-ajax-calls-performantly/),
check out the [SVN repository](https://plugins.svn.wordpress.org/queue-ajax-calls-performantly/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/queue-ajax-calls-performantly/)
by [RSS](https://plugins.trac.wordpress.org/log/queue-ajax-calls-performantly/?limit=100&mode=stop_on_copy&format=rss).

## Meta

 *  Version **1.1.3**
 *  Last updated **1 year ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **6.7.5**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/queue-ajax-calls-performantly/)
 * Tags
 * [ajax](https://vec.wordpress.org/plugins/tags/ajax/)[CAPI](https://vec.wordpress.org/plugins/tags/capi/)
   [performance](https://vec.wordpress.org/plugins/tags/performance/)[queue](https://vec.wordpress.org/plugins/tags/queue/)
 *  [Advanced View](https://vec.wordpress.org/plugins/queue-ajax-calls-performantly/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/queue-ajax-calls-performantly/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/queue-ajax-calls-performantly/reviews/)

## Contributors

 *   [ eddr ](https://profiles.wordpress.org/eddr/)
 *   [ secretchord.io ](https://profiles.wordpress.org/secretchord/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/queue-ajax-calls-performantly/)