Details

    • Low
    • NO CHANGELOG: is in parent issue - therefore removed fixed version

    Description

      Currently the termtagger worker is the only worker using resources (services) and the load-balancing is implemented only partly. Since we will add more resource/service consuming workers in the AutoQA it is neccessary to encapsulate  and modularize the existing logic to avoid redundant implementations. In this process the existing logic should be improved:

      Current state:

      • available resources are evaluated in the queue method, additional workers are queued there to enable parallelism
      • after work was called the next workers will be chained without taking into account how many are really needed
      • direct run method is very dirty, better would be a seperation of the Code "working" the payload and a managing the work (get rid of direct run)
      • Therefore Excel Export must be refactored, uses worker purely sequential / direct run
      • Locked/Down Termtaggers are managed in a Termtagger specific Cache
      • MatchAnalysis batch Worker & Termtagger Worker are coded sperately

      Wanted state:

      • Encapsulate Resource limited (slot) Logic in an easily reusable "ResourceWorker" or "ServiceWorker"
      • Seperate Work-Code from Work-Management Code at least for the Resource Workers
      • Instead of queueing new workers when work is done set state of actual worker back to waiting (Queueing of workers is only done in the worker init phase, not during work)
      • Check if Parallelism actually respects num resources in pool * maxParallelWorkers
      • Simplify/decouple logic in Worker Model setRunning & isMutexAccess
      • Solve Problems with twice instantiated Workers due to "window of opportunity" before hash is updated, remove renewal of hash

      This Improvement is also a Prequesite for The Service-Related AutoQA Workers (e.g. Spellcheck)

      Attachments

        Issue Links

          Activity

            People

              axelbecher Axel Becher
              axelbecher Axel Becher
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: