Export setup
The Delivery Endpoint serves cached items from the plugin_datahub_productsup_cache_item table (see
Basic Configuration). Depending on the Save Hook, that cache needs to be filled by
running the datahub:export:productsup command:
Save Hook = Direct Export: every object save already writes to the cache table. Running the command is optional, but useful to refresh the entries the configuration currently matches, for example after a schema or workspace change. It is not a complete reset, see the note below.Save Hook = QueueorDisabled: the command is required to move data into the cache table. Set it up as a recurring cron job.
No Pimcore Studio button starts an export, and no Symfony Messenger transport is involved. The command runs synchronously and, via the webmozarts/console-parallelization package, can fan out work across multiple child processes.
A full run of datahub:export:productsup is not an exact substitute for Save, reset and clear queue
(see Basics). It only visits items that the configuration still
matches (right class, inside a workspace path, published), so it drops cache entries for items that fail export
validation but leaves entries for items that no longer match the configuration at all. A reset deletes every cache
entry of the configuration before refilling the queue.
Under the hood the button saves the configuration with saveType: reset through the Studio Backend API, which
dispatches ResetConfigEvent. Deleting a configuration triggers the same reset.
Export modes
- Full export: recomputes and writes every relevant item of a configuration, regardless of the queue. Items that no longer pass export validation are removed from the cache table.
- Queue-only export (
--only-queue-items): only processes items currently in theplugin_datahub_queue_itemtable, whichSave Hook = Queuepopulates on object save. Processed queue entries are deleted afterwards.
Command usage
# Full export of every active `productsup` configuration
bin/console datahub:export:productsup
# Full export of a single configuration
bin/console datahub:export:productsup --config-id=products-marketplace
# Only process items currently in the queue
bin/console datahub:export:productsup --only-queue-items
Without --config-id, the command runs for every active Datahub configuration of type productsup. See
bin/console datahub:export:productsup --help for the parallelization options (for example, the number of child
processes) inherited from the webmozarts/console-parallelization package.
Schedule the command as a regular cron job on your infrastructure. See Crontab Guru to build a cron expression.