[WordPress] 外掛分享: Queue Ajax Calls Performantly

首頁外掛目錄 › Queue Ajax Calls Performantly
全新外掛
安裝啟用
尚無評分
14 天前
最後更新
問題解決
WordPress 5.8+ PHP 7.4+ v1.1.5 上架:2025-04-06

內容簡介

Queue Ajax Calls Performantly 外掛提供了一種有效的方式來排隊選定的 Ajax 和 REST 呼叫,避免載入大部分的 WordPress 系統,節省 CPU 負載和運行時間,適合開發者使用。

【主要功能】
• 排隊處理 Ajax 和 REST 呼叫
• 節省系統資源和運行時間
• 支援自定義資料清理和處理
• 透過 CRON 批次處理呼叫
• 基本支援 PixelYourSite API 呼叫

外掛標籤

開發者團隊

⬇ 下載最新版 (v1.1.5) 或搜尋安裝

① 下載 ZIP → 後台「外掛 › 安裝外掛 › 上傳外掛」
② 後台搜尋「Queue Ajax Calls Performantly」→ 直接安裝(推薦)
📦 歷史版本下載

原文外掛簡介

This plugin offers a way to queue selected Ajax and REST 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 configured AJAX actions and REST routes.
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 and REST 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 or REST call evoked in the client browser ->
MU plugin catches the call if the configuration includes the specific action or route 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.
REST route key : A configured REST route prefixed with “rest:”, for example “rest:pys-facebook/v1/event”.
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

延伸相關外掛

文章
Filter
Apply Filters
Mastodon