Background Processes

Processes started via Portal Engine Frontend

The following processes in the portal engine frontend are executed by Symfony messenger workers as background processes.

  • Download zip generation
  • Batch asset deletion
  • Batch asset relocate
  • Batch update metadata

In the frontend you will recognize them via progress bar notifications at the bottom right of the browser window.

Download Generation Running

These processes are dispatched via the pimcore_portal_engine transport.

Processing update index queue

Optional, it is also possible to also process the index updating via Symfony messenger workers.

        activated: true

These messages are dispatched via the pimcore_index_queues transport.

General Aspects

It is needed to have at least one (better more) permanently running worker up and running.

php bin/console messenger:consume pimcore_portal_engine pimcore_index_queues

Depending on how many parallel frontend users you have in your system, it is recommended to start multiple of them (for example 4) as otherwise the users within the frontend maybe need to wait quite a lot of time until there ZIPs are generated or other processes are handled.

As PHP is not ideal for long running processes and the workers might crash from time to time or would consume a lot of memory if running for a long time it is recommended to use some kind of process control system to ensure that the workers will stay up and running.

Supervisor should be the right tool here, but it is up to you how to setup it and there are several other possibilities and tools out there.

The Symfony messenger documentation explains how to setup supervisor.

The Deploying to Production section should also be read carefully.