Wir haben ein großes Problem bei welchem sich die queue für die Indexierung von Produkten schnell füllt bis einige Millionen Einträge vorhanden sind. Wir benutzen einen Redis Transport und einen cronjob um die async messages abzuarbeiten. Der Server ist potent kommt aber mit der Masse an Indexierungsjobs nicht hinterher.
Einträge in der Queue sehen beispielsweise so aus:
1) "1724998717074-0"
2) 1) "message"
2) "s:970:"{"body":"{\"data\":[\"01907e2082a3707ab6a6fb9e81efd80c\"],\"offset\":null,\"indexer\":\"product.indexer\",\"context\":{\"extensions\":[],\"languageIdChain\":[\"2fbb5fe2e29a4d70aa5854ce7ce3e20b\"],\"scope\":\"crud\",\"rulesLocked\":false,\"source\":{\"type\":\"admin-api\",\"isAdmin\":true,\"permissions\":[],\"userId\":null,\"integrationId\":\"0190113efd557926bc4246bd954d0914\"},\"ruleIds\":[],\"currencyId\":\"b7d2554b0ce847cd82f3ac9bd1c0dfca\",\"versionId\":\"0fa91ce3e96a4bc2be4bd9ce752c3425\",\"currencyFactor\":1.0,\"considerInheritance\":false,\"taxState\":\"gross\",\"rounding\":{\"extensions\":[],\"decimals\":2,\"interval\":0.01,\"roundForNet\":true}},\"skip\":[],\"forceQueue\":false,\"isFullIndexing\":false}","headers":{"type":"Shopware\\Core\\Content\\Product\\DataAbstractionLayer\\ProductIndexingMessage","X-Message-Stamp-Symfony\\Component\\Messenger\\Stamp\\BusNameStamp":"[{\"busName\":\"messenger.bus.default\"}]","Content-Type":"application\/json"}}";"
98) 1) "1724998717074-1"
2) 1) "message"
2) "s:1011:"{"body":"{\"data\":[\"0190ed9e776b718c95572841fe35dd82\"],\"offset\":null,\"indexer\":\"product.indexer\",\"context\":{\"extensions\":[],\"languageIdChain\":[\"2fbb5fe2e29a4d70aa5854ce7ce3e20b\"],\"scope\":\"crud\",\"rulesLocked\":false,\"source\":{\"type\":\"admin-api\",\"isAdmin\":true,\"permissions\":[],\"userId\":null,\"integrationId\":\"0190113efd557926bc4246bd954d0914\"},\"ruleIds\":[],\"currencyId\":\"b7d2554b0ce847cd82f3ac9bd1c0dfca\",\"versionId\":\"0fa91ce3e96a4bc2be4bd9ce752c3425\",\"currencyFactor\":1.0,\"considerInheritance\":false,\"taxState\":\"gross\",\"rounding\":{\"extensions\":[],\"decimals\":2,\"interval\":0.01,\"roundForNet\":true}},\"skip\":[\"product.inheritance\",\"product.stock\"],\"forceQueue\":false,\"isFullIndexing\":false}","headers":{"type":"Shopware\\Core\\Content\\Product\\DataAbstractionLayer\\ProductIndexingMessage","X-Message-Stamp-Symfony\\Component\\Messenger\\Stamp\\BusNameStamp":"[{\"busName\":\"messenger.bus.default\"}]","Content-Type":"application\/json"}}";"
99) 1) "1724998718087-0"
2) 1) "message"
2) "s:970:"{"body":"{\"data\":[\"01907e2082a3707ab6a6fb9e81efd80c\"],\"offset\":null,\"indexer\":\"product.indexer\",\"context\":{\"extensions\":[],\"languageIdChain\":[\"2fbb5fe2e29a4d70aa5854ce7ce3e20b\"],\"scope\":\"crud\",\"rulesLocked\":false,\"source\":{\"type\":\"admin-api\",\"isAdmin\":true,\"permissions\":[],\"userId\":null,\"integrationId\":\"0190113efd557926bc4246bd954d0914\"},\"ruleIds\":[],\"currencyId\":\"b7d2554b0ce847cd82f3ac9bd1c0dfca\",\"versionId\":\"0fa91ce3e96a4bc2be4bd9ce752c3425\",\"currencyFactor\":1.0,\"considerInheritance\":false,\"taxState\":\"gross\",\"rounding\":{\"extensions\":[],\"decimals\":2,\"interval\":0.01,\"roundForNet\":true}},\"skip\":[],\"forceQueue\":false,\"isFullIndexing\":false}","headers":{"type":"Shopware\\Core\\Content\\Product\\DataAbstractionLayer\\ProductIndexingMessage","X-Message-Stamp-Symfony\\Component\\Messenger\\Stamp\\BusNameStamp":"[{\"busName\":\"messenger.bus.default\"}]","Content-Type":"application\/json"}}";"
100) 1) "1724998718087-1"
2) 1) "message"
2) "s:1011:"{"body":"{\"data\":[\"0190ed9e9bc47074acac3f6c35062de7\"],\"offset\":null,\"indexer\":\"product.indexer\",\"context\":{\"extensions\":[],\"languageIdChain\":[\"2fbb5fe2e29a4d70aa5854ce7ce3e20b\"],\"scope\":\"crud\",\"rulesLocked\":false,\"source\":{\"type\":\"admin-api\",\"isAdmin\":true,\"permissions\":[],\"userId\":null,\"integrationId\":\"0190113efd557926bc4246bd954d0914\"},\"ruleIds\":[],\"currencyId\":\"b7d2554b0ce847cd82f3ac9bd1c0dfca\",\"versionId\":\"0fa91ce3e96a4bc2be4bd9ce752c3425\",\"currencyFactor\":1.0,\"considerInheritance\":false,\"taxState\":\"gross\",\"rounding\":{\"extensions\":[],\"decimals\":2,\"interval\":0.01,\"roundForNet\":true}},\"skip\":[\"product.inheritance\",\"product.stock\"],\"forceQueue\":false,\"isFullIndexing\":false}","headers":{"type":"Shopware\\Core\\Content\\Product\\DataAbstractionLayer\\ProductIndexingMessage","X-Message-Stamp-Symfony\\Component\\Messenger\\Stamp\\BusNameStamp":"[{\"busName\":\"messenger.bus.default\"}]","Content-Type":"application\/json"}}";"
Was mir aufgefallen ist, ist dass der Katalogexport teilweise über 24 Stunden lang läuft:
Gibt eine Möglichkeit Indexierungen global zu deaktivieren oder irgendwie abzuschalten? Dann könnte ich geregelt jede Stunde z.B. die Indexierung über die dal cli anstoßen.