Uploaded image for project: 'Insights Experiences'
  1. Insights Experiences
  2. HMS-4188

Implement weighted queue

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Done
    • Icon: Undefined Undefined
    • None
    • None
    • Edge
    • None

      The current memory job queue processes jobs from a single queue in order. This will work if all jobs have relatively same processing time, however, it looks like some jobs are very fast (just update something) and others take about an hour (build ISO/TAR).

      This means the long-running jobs might saturate all the worker goroutines and starve the queue leaving the short-running jobs waiting. The easy solution is to introduce job weight - a float with 0.0 meaning "light" job and 1.0 "heavy job". There can be two or more queues with separate worker pools for each category for better utilization of resources.

            Unassigned Unassigned
            rhn-engineering-lzapletal Lukáš Zapletal
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: