Skip to content

DevIndex: Implement "Penalty Box" for Failed User Updates #9121

@tobiu

Description

@tobiu

This task addresses a critical inefficiency in the DevIndex Updater service where "toxic" users (those who consistently trigger 502/504/403 errors) block the update queue.

Problem:
Currently, when a user update fails, the Updater logs the error but does not update the lastUpdate timestamp in tracker.json. This causes the Scheduler to prioritize these same failed users again in the very next run, creating an infinite loop of failures that wastes API quota (especially with the new hourly workflow).

Solution ("The Penalty Box"):
Modify DevIndex.services.Updater to update the lastUpdate timestamp to the current time even when an update fails.

Logic:

  • On Success: Update lastUpdate (Standard).
  • On Failure: Update lastUpdate (New).
  • Outcome: Failed users are pushed to the back of the priority queue. They will be retried only after the entire backlog (~3 days) is processed, preventing them from DOS-ing the hourly workflow.

Impact:

  • Unblocks the "Safe 200" hourly workflow.
  • Ensures 100% of the quota is spent on fresh, processable users.

Metadata

Metadata

Assignees

Labels

aibugSomething isn't workingperformancePerformance improvements and optimizations

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions