When importing CSV tags, the importer currently sends one request per tag per item. If importing multiple tags to the same item, this can be sped up by bundling tags bound for the same item in the same request
Solution
This PR groups tags bound for the same item into the same request payload, and adds unit tests. I only had to implement this for csv_tags, since it turns out this was already implemented for csv_tags_video
I thought about splitting up annotation payloads if they grow beyond a certain size, but I tested up to 100000 tags in a single payload without issue
Changelog
Improved speed of CSV tag importer when importing multiple tags to the same dataset item
Problem
When importing CSV tags, the importer currently sends one request per tag per item. If importing multiple tags to the same item, this can be sped up by bundling tags bound for the same item in the same request
Solution
This PR groups tags bound for the same item into the same request payload, and adds unit tests. I only had to implement this for
csv_tags
, since it turns out this was already implemented forcsv_tags_video
I thought about splitting up annotation payloads if they grow beyond a certain size, but I tested up to 100000 tags in a single payload without issue
Changelog
Improved speed of CSV tag importer when importing multiple tags to the same dataset item