-
Notifications
You must be signed in to change notification settings - Fork 33
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
Ecommerce | Index Boostrap Command #83
Comments
might be challenging due to
so loading the dataobject will be necessary in any case, and most probably this is the most expensive operation (not extracting data from it for index) |
So the effort of loading data objects is the same, but it is shifted from the bootstrap command to the ProcessPreparationQueue, where it is easier to setup. Maybe there is something I do not see yet. |
but for knowing what IDs should be in index, you need to load the data object ... and the whole point of bootstrapping is knowing what IDs should be in index. or am I missing something? |
Here is the difference of the two approaches. Current mode:
For 600.000 products, without parallelization, let's say that the command will run for 48 hours in a project where the product data model is complex. Alternative/additional mode with
|
We should definitly create something similar to what @andreas-gruenwald suggested. Currently it's really a very big challenge to do the bootstrapping in projects with many products and tenants. |
are there any BC breaks needed for that? |
Don't think that BCs are needed. |
I would love to see a PR for it :-) |
Feature Request
I just have another idea in mind.
Actually we could add a mode to the bootstrap command, so that it will only create "empty" ID-rows for non-existing ones, instead of processing the whole object(s):
https://github.com/pimcore/pimcore/blob/d4bf70250202c56fb81ece2d80a85c282daf67ac/bundles/EcommerceFrameworkBundle/Command/IndexService/BootstrapCommand.php#L131
The store table would then be used as a queue, and the ProcessPreparationQueue command would then take care about the rest:
in_preparation
is not set, the entries will be processed.This would depend on pimcore/pimcore#6487 though.
The text was updated successfully, but these errors were encountered: