Skip to content

Improve performance when firing trigger for multiple contacts

Sandor Semsey requested to merge semseysandor/civirules:cache-trigger into master

When a trigger is triggered for multiple contacts (e.g. Activity is Added, Activity is Changed triggers) the same information is retrieved from the database for each invocation.

This takes some time, depending on the number of contacts. For a few contacts this is negligable but after a few thousand contacts it can get significant.

In this MR, caching is improved to eliminate these repetitive DB calls:

  • RuleDebugEnabled property
  • ruleConditions
  • class names of conditions

Merge request reports