Implement proper caching that lives for one migration run
- Dominant language
- PHP
- Stars
- 3.4k
- Forks
- 1.2k
- Avg merge
- 3d 55m
- Merged PRs (30d)
- 436
Description
See symfony / shopware caching documentation.
The cache should only live for one migration run and be cleared at the end.
Currently we are doing many lookups of the same data, for example in LookupServices. There we are already caching the lookups in the class itself but that cache is likely lost after every MQ message processed. A bad example would be our MappingService, that does many lookups but these often produce different results.
That’s why we should benchmark with [blackfire.io|http://blackfire.io] which methods would benefit the most from a longer living cache and implement it only where it makes sense.
Contributor guide
Research direction
Start with the Symfony and Shopware caching documentation, then inspect LookupServices and MappingService to understand the existing per-class lookups and how MQ messages are processed during a migration run. Use Blackfire to benchmark repeated lookups, identify methods that benefit from longer-lived caching, and verify that the selected cache is cleared at the end of the run.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php, symfony
- Domain
- backend, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100