From: eileenmcnaugton Date: Mon, 16 May 2016 02:06:56 +0000 (+1200) Subject: CRM-18516 add job for clearing of caches, separated from the rebuild job X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=a357281f05ce406b3513c3bd61fd8c28c5162986;p=civicrm-core.git CRM-18516 add job for clearing of caches, separated from the rebuild job --- diff --git a/api/v3/Job.php b/api/v3/Job.php index 38a08fb65b..cfd2ff2396 100644 --- a/api/v3/Job.php +++ b/api/v3/Job.php @@ -643,6 +643,24 @@ function civicrm_api3_job_group_rebuild($params) { return civicrm_api3_create_success(); } +/** + * Flush smart groups caches. + * + * This job purges aged smart group cache data (based on the timeout value). Sites can decide whether they want this + * job and / or the group cache rebuild job to run. In some cases performance is better when old caches are cleared out + * prior to any attempt to rebuild them. Also, many sites are very happy to have caches built on demand, provided the + * user is not having to wait for deadlocks to clear when invalidating them. + * + * @param array $params + * + * @return array + * @throws \API_Exception + */ +function civicrm_api3_job_group_cache_flush($params) { + CRM_Contact_BAO_GroupContactCache::deterministicCacheRefresh(); + return civicrm_api3_create_success(); +} + /** * Check for CiviCRM software updates. *