diff options
| author | Roman Smrž <roman.smrz@seznam.cz> | 2025-01-10 22:21:14 +0100 | 
|---|---|---|
| committer | Roman Smrž <roman.smrz@seznam.cz> | 2025-01-10 22:59:11 +0100 | 
| commit | 61a9e98239cf01e91ca079ef176602efe0077dde (patch) | |
| tree | afaf9ee23f295c5cf5f5cb60d1586547d50f313a /src/Command | |
| parent | ded067166901805bba63a35b37fe83ebfc4e6aa8 (diff) | |
Limit number of concurrently running jobs
Changelog: Configurable number of concurrently running jobs
Diffstat (limited to 'src/Command')
| -rw-r--r-- | src/Command/Run.hs | 4 | 
1 files changed, 3 insertions, 1 deletions
| diff --git a/src/Command/Run.hs b/src/Command/Run.hs index 73baee0..a2436c8 100644 --- a/src/Command/Run.hs +++ b/src/Command/Run.hs @@ -44,6 +44,7 @@ instance Command RunCommand where  cmdRun :: RunCommand -> CommandExec ()  cmdRun (RunCommand changeset) = do +    CommonOptions {..} <- getCommonOptions      ( base, tip ) <- case T.splitOn (T.pack "..") changeset of          base : tip : _ -> return ( T.unpack base, T.unpack tip )          [ param ] -> liftIO $ do @@ -56,6 +57,7 @@ cmdRun (RunCommand changeset) = do          [] -> error "splitOn should not return empty list"      liftIO $ do +        mngr <- newJobManager optJobs          Just repo <- openRepo "."          commits <- listCommits repo (base <> ".." <> tip)          jobssets <- mapM loadJobSetForCommit commits @@ -72,7 +74,7 @@ cmdRun (RunCommand changeset) = do                  shortDesc = fitToLength 50 (commitDescription commit)              case jobsetJobsEither jobset of                  Right jobs -> do -                    outs <- runJobs "./.minici" commit jobs +                    outs <- runJobs mngr "./.minici" commit jobs                      let findJob name = snd <$> find ((name ==) . jobName . fst) outs                      displayStatusLine shortCid (" " <> shortDesc) $ map findJob names                  Left err -> do |