Problem/Motivation
The patch at [##952394: "No available releases found" - fetching update information exceeds timeout fixed a number of issues with update status timing out, but it allows requests to spend much longer fetching information, and can still result in missing records if a request fails.
David had a suggestion in #952394-133: "No available releases found" - fetching update information exceeds timeout to switch things around:
The real fix here looks like it would involve making the code in Drupal 7 and 8 smart enough to not clear the previous cached data about a module until the new data for that module is actually finished building? Then we could go back to 5 seconds just fine, and it wouldn't matter if it takes more than one cron for the new data to build.
Also see later discussion on the issue and #1548286: API for handling unique queue items.
Proposed resolution
Instead of delete -> fetch -> update, only replace delete and replace individual items once they've been successfully fetched.
Comments
Comment #2
dwwSounds like a great idea. +100. :)
Thanks for opening this so it doesn't get lost.
Cheers,
-Derek
Comment #4
ergophobe CreditAttribution: ergophobe commentedTagging the related issue: #2715499: update module fails due to queue.expire & key_value records