Major performance problem

Created on 9 July 2025, 10 days ago

Problem/Motivation

The continuous manager is highly inefficient. I don't fully understand what it does but heres the scenario:

- I have a user who is modifying his account
- The profile is translatable
- The hook_entity_update is called
- The system checks the continuous jobs
- It finds there are 4500 jobs currently active (we currently have 4500 content items to translate in the queue)
- The system fires off a ContinuousEvents::SHOULD_CREATE_JOB event 4500 times.

Obviously the event system is very powerful for overriding but 4500 symfony events is just unmanageable. It slows the site down by 10 seconds. There shouldn't be a relationship between the number of items in the queue and how long it takes to modify content.

Why do we even need to launch an event for every job item in the queue? Why not just launch an event for the entity being processed? I really don't understand what the objective is of this piece of code apart from automatically translating content when something changes in the source translation.

Steps to reproduce

- Enqueue many jobs and modify a translatable entity

Proposed resolution

Understand why we add a job for every exsting job

🐛 Bug report
Status

Active

Version

1.0

Component

Core

Created by

🇪🇸Spain willeaton

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Production build 0.71.5 2024