Uploaded image for project: 'Traffic Server'
  1. Traffic Server
  2. TS-589

Add "tasks" threads and processor

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 2.1.5
    • Core
    • None

    Description

      Sometimes, in both the core and in SDK plugins, it might be useful to create "background tasks". Right now, it's only possible to schedule such tasks (continuations) on the normal net-threads. This could cause imbalance in thread "load", particularly for longer running tasks. A new thread type will be created, ET_TASK, which by default is the same as the net threads (ET_CALL), but via a records.config option, any continuations scheduled on ET_TASK can be off-loaded on a new set of threads (a threadpool with a configurable size).

      One new configuration option is added, with a default of 0:

      CONFIG proxy.config.task_threads INT 0

      In addition, more functionality can / should be added to the TasksProcessor, to make it easy and convenient to use. SDK APIs must also be added (or modified) to schedule plugin "tasks" on this thread pool.

      My initial checkin will be merely a "stub" processor, to get things started.

      Attachments

        1. TS-589.diff
          23 kB
          Leif Hedstrom

        Activity

          People

            zwoop Leif Hedstrom
            zwoop Leif Hedstrom
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: