Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NGSTACK-805: async indexing #4

Merged
merged 16 commits into from
Nov 14, 2023
Merged

NGSTACK-805: async indexing #4

merged 16 commits into from
Nov 14, 2023

Conversation

pspanja
Copy link
Member

@pspanja pspanja commented Nov 7, 2023

This implements support for asynchronous indexing through Symfony's Messenger component. Implementation of indexing event listeners from Ibexa core is used as a base for this implementation, but it's improved to take into account the possibility of failure as a part of normal operation. It's mostly about handling the case when Content/Location that should be processed was deleted and hence can't be loaded from the Repository at the time of processing.

Example configuration for the Messenger component is here given as a reference point.

In order to enable asynchronous indexing in a project, a following configuration is needed:

netgen_ibexa_search_extra:
    use_asynchronous_indexing: true

Additionally a consumer processing the asynchronous indexing queue should be running, with the provided example configuration:

bin/console messenger:consume netgen_ibexa_asynchronous_indexing

Indexing command is not modified, meaning it works aside from the asynchronous mechanism.

@pspanja pspanja merged commit ce9c3de into master Nov 14, 2023
15 of 18 checks passed
@pspanja pspanja deleted the NGSTACK-805_async branch November 14, 2023 12:52
@pspanja
Copy link
Member Author

pspanja commented Nov 14, 2023

Thanks @emodric and @igorkrz!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants