Feature: Message Queue in TYPO3 Crawler #1213
tomasnorre
started this conversation in
Ideas
Replies: 1 comment 1 reply
|
Sounds good. We use crawler for cache warmup of public pages (in combination with staticfilecache) and private (login protected) pages. Could crawler possibly use or extend the new EXT:index for this feature? (https://typo3.org/article/typo3-meets-seal-a-breath-of-fresh-air-for-search, https://extensions.typo3.org/extension/index) |
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
I've been working regularly to improve the TYPO3 Crawler since I started contributing more than 10 years ago.
After the Message Queue system was introduced to TYPO3, I think it's time to rethink the TYPO3 Crawler a little. There is too much logic in the crawler that could be replaced with core functionality. Which is the aim for this feature.
Disclaimer
This feature will be a breaking change with 100% certainty. I don't want to maintain both paths for a period of time to keep backwards compatibility.
Idea
The crawler queue itself will not be handled by the crawler itself anymore, only the result of a page visit, for later revisit and inspection.
SQL Tables
Today, there are 3 SQL tables in the TYPO3 Crawler, which all will be more or less obsolete.
tx_crawler_queue
As one can see the
tx_crawler_queueholds quite some data, which configuration is has been used from crawling, if it's scheduled or not, the execution time is too, the set_id of which it was part of, result data, and much more. Much of this information is to be honest not relevant to many people, if any.This table can be more or less completely removed.
tx_crawler_process
The
tx_crawler_processtable can be completely removed as the processes with be handled by the message bus. This logic related to this will not be needed in the TYPO3 Crawler anymore.tx_crawler_configuration
The
tx_crawler_configurationmight exist in some form or the other. There is a suggestion to let the TYPO3 Crawler simple run over thesitemap.xmlfile, which will remove the real need of a configuration. I still think some kind of configuration is needed to have some possibility to exclude some pages in crawler, when e.g. the TYPO3 Crawler is used as a Cache warmup.Classes
There are quite a number of classes that will be trimmed down and even obsolete after doing this change. So I'll only outline the new Classes that I would expect to be present after the refactor.
With these changes, most of the
Domain/ModelandDomain/Repositorypresent to day will be obsolete. Most of the classes related to that too.There will of course be more classes added in form of services etc. but it will be a positive change for the TYPO3 Crawler I believe.
Conclusion
This will more or less fell like a complete rewrite of the TYPO3 Crawler, as limited existing code will be reused. I know new code will introduce new bugs and new challenges, but so will old code that is harder to maintainer.
The primary goal of this change is to get code that is easier to maintain, due to less custom code.
I will be happy to hear your inputs.
Links
All reactions