Viktor Sahlström
Aug 22, 2016
  4571
(6 votes)

Episerver Find persistent queue

As part of the continuous effort to operate optimally in the cloud, we have done multiple things to adapt the Episerver platform.

In Episerver Find 12.1.0, we changed a fundamental part of indexing to better work in a cloud environment, where several client instances may be present and there is less control of the actual computing power. Previously, a document to be indexed was put into a memory queue and processed by the client based in order of submission. In a cloud environment (such as Azure), this approach may cause issues. For example, an instance is stopped due to scaling or maintenance. In this case, the information in memory is lost, and those documents are not indexed. Also, when using a memory queue, the load of indexing could not be split across multiple instances unless the indexing was initiated on different machines.

To solve these issues, the memory queue approach has been re-implemented using a persistent queue that stores requests and events in a SQL database. This way, data is maintained more reliably, and queue information is accessible from all machines in a cluster. There will be no data dropped if a machine is stopped. As an additional benefit, we made sure that, if an item is submitted repeatedly but no changes are present in subsequent data sets, it is not indexed. Finally, we added the ability to trace failed events. See also: Tracing events in Episerver Find

Aug 22, 2016

Comments

Please login to comment.
Latest blogs
OpenAI-Driven AI Assistant for TinyMCE in Optimizely CMS 12

The Tiny.AI add-on enhances Optimizely CMS 12 by seamlessly integrating OpenAI directly into the TinyMCE editor. It empowers editors to rewrite,...

Adnan Zameer | Mar 3, 2026 |

Your first SAAS Project -- Setup

Hey everyone, When I first started Remko's StarterKit, I honestly had no idea what I was doing. After spending a couple of months working through i...

PuneetGarg | Mar 3, 2026

Catalog Traversal with Hangfire. Part 3: Advanced Job Management

In Part 1, I showed how to build a memory-efficient catalog traversal service, and in Part 2, I demonstrated practical patterns using Optimizely’s...

Stanisław Szołkowski | Mar 3, 2026 |

Bypassing WAF Blocking in Optimizely CMS 11 with Custom Base64 Properties

Introduction As Optimizely developers, we frequently encounter requirements to allow editors to inject third-party scripts into the head or body of...

Amit Mittal | Mar 2, 2026