Revision f7743189 src/Ganeti/JQScheduler.hs

b/src/Ganeti/JQScheduler.hs
35 35
import Control.Concurrent
36 36
import Control.Exception
37 37
import Control.Monad
38
import Data.Function (on)
38 39
import Data.List
39 40
import Data.Maybe
40 41
import Data.IORef
......
296 297
  logInfo . (++) "New jobs enqueued: " . commaJoin
297 298
    $ map (show . fromJobId . qjId) jobs
298 299
  let jobs' = map unreadJob jobs
299
  modifyJobs state (onQueuedJobs (++ jobs'))
300
      insertFn = insertBy (compare `on` fromJobId . qjId . jJob)
301
      addJobs oldjobs = foldl (flip insertFn) oldjobs jobs'
302
  modifyJobs state (onQueuedJobs addJobs)
300 303
  scheduleSomeJobs state
301 304

  
302 305
-- | Pure function for removing a queued job from the job queue by

Also available in: Unified diff