Skip to main content
Version: Next

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 = Queue or Disabled: the command is required to move data into the cache table. Set it up as a recurring cron job.

There is no Pimcore Studio button or Symfony Messenger transport involved. The command runs synchronously and, via the webmozarts/console-parallelization package, can fan out work across multiple child processes.

note

Earlier, Admin Classic-based versions of this bundle offered a "Save, reset and clear queue" action that cleared the cache table and repopulated the queue in one click. The underlying mechanism (ResetConfigEvent) still exists and is reachable through the Studio Backend API by saving the configuration with saveType: reset, but the current Pimcore Studio configuration panel does not expose a button for it. Deleting a configuration triggers the same reset.

A full run of datahub:export:productsup is not an exact substitute. 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.

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 the plugin_datahub_queue_item table, which Save Hook = Queue populates 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.