Uploaded image for project: 'OptaPlanner'
  1. OptaPlanner
  2. PLANNER-505

REST interface spec for OptaPlanner Execution Server

XMLWordPrintable

    • Chaning this jira to resolved. Additional issues can go into new jira's, linked to the BPMSPL issue.
    • NEW
    • NEW

      Here's a list of the methods that need to be exposed in the REST service of execution server in phase 1:

      • Solver.solve(Solution_ planningProblem) returns Solution_
        • This is a potentially long running method, it can take hours or days even in some cases.
      • Solver.isSolving() returns boolean
      • Solver.terminateEarly() returns boolean
        • The way to a kill a long-running solver.
      • Solver.isTerminateEarly() return boolean

      Moved to phase 2

      • Solver.add/removeEventListener(SolverEventListener) and a way to listen to SolverEventListener.bestSolutionChanged(BestSolutionChangedEvent) somehow.
        • If the REST is called though WebSockets, we can push this back, otherwise we'll need some sort of polling mechanism
        • Only the most recent BestSolutionChanged event is interesting. If there are multiple in a queue to be send back, the earlier ones can be safely ignored.
        • In practice we 'll even need some sort of throttling approach because it's possible to have 100 best solution events per second (= once every 10ms) for some time during solving (mostly at the beginning).

      Additional features (such as anything related to addProblemFactChange) will be kept for phase 2.

              etirelli@redhat.com Edson Tirelli
              gdesmet@redhat.com Geoffrey De Smet (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: