Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-22025

Update the ScriptQueue to only launch N scripts at a time

    XMLWordPrintable

    Details

    • Story Points:
      3
    • Team:
      Telescope and Site

      Description

      At present the ScriptQueue launches all queued scripts in subprocesses. This potentially results in dozens or hundreds of subprocesses, all doing basically nothing until it is their turn to be run.

      To reduce resource usage modify the ScriptQueue to launch a maximum of N scripts, where N is an adjustable constant. Any additional queued scripts will be kept on the queue but not launched.

      I think this will require:

      • Modify QueueModel.add to not call ScriptInfo.start_loading but instead trigger some new method that calls start_loading on queued scripts if appropriate.
      • Modify the usual code that handles changes to the script queue to also call the new method.

      Open question: what to do if a script is loaded and then moved later in the queue, far enough back that it should not be loaded. We could leave it loaded, under the theory that extra processes are cheap and this will be a rare occurrence, or kill the process. The latter is safer, in that even very unfavorable circumstances will not cause problems.

        Attachments

          Activity

          Hide
          rowen Russell Owen added a comment -

          This may not be needed now that we allow an infinite number of Domain Participants

          Show
          rowen Russell Owen added a comment - This may not be needed now that we allow an infinite number of Domain Participants

            People

            Assignee:
            rowen Russell Owen
            Reporter:
            rowen Russell Owen
            Watchers:
            Russell Owen
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:

                Jenkins

                No builds found.