src/Pure/Admin/isabelle_cronjob.scala
changeset 78897 541ea5302200
parent 78896 3523df57df51
child 78898 c93efa4b2a50
equal deleted inserted replaced
78896:3523df57df51 78897:541ea5302200
   187         if_proper(detect, SQL.enclose(detect)))
   187         if_proper(detect, SQL.enclose(detect)))
   188 
   188 
   189     def profile: Build_Status.Profile =
   189     def profile: Build_Status.Profile =
   190       Build_Status.Profile(description, history = history, afp = afp, bulky = bulky, sql = sql)
   190       Build_Status.Profile(description, history = history, afp = afp, bulky = bulky, sql = sql)
   191 
   191 
   192     def pick(
   192     def pick(options: Options, filter: Item => Boolean): Option[(String, Option[String])] = {
   193       options: Options,
   193       val rev = get_rev()
   194       rev: String = "",
       
   195       filter: Item => Boolean = _ => true
       
   196     ): Option[(String, Option[String])] = {
       
   197       val afp_rev = if (afp) Some(get_afp_rev()) else None
   194       val afp_rev = if (afp) Some(get_afp_rev()) else None
   198 
   195 
   199       val store = Build_Log.store(options)
   196       val store = Build_Log.store(options)
   200       using(store.open_database()) { db =>
   197       using(store.open_database()) { db =>
   201         def pick_days(days: Int, gap: Int): Option[(String, Option[String])] = {
   198         def pick_days(days: Int, gap: Int): Option[(String, Option[String])] = {
   654                   PAR(remote_builds.map(_.filter(_.active())).map(seq =>
   651                   PAR(remote_builds.map(_.filter(_.active())).map(seq =>
   655                     SEQ(
   652                     SEQ(
   656                       for {
   653                       for {
   657                         (r, i) <- (if (seq.length <= 1) seq.map((_, -1)) else seq.zipWithIndex)
   654                         (r, i) <- (if (seq.length <= 1) seq.map((_, -1)) else seq.zipWithIndex)
   658                       } yield () => {
   655                       } yield () => {
   659                         r.pick(logger.options, hg.id(), history_base_filter(r))
   656                         r.pick(logger.options, history_base_filter(r))
   660                           .map({ case (rev, afp_rev) =>
   657                           .map({ case (rev, afp_rev) =>
   661                             remote_build_history(rev, afp_rev, i, r,
   658                             remote_build_history(rev, afp_rev, i, r,
   662                               progress = build_log_database_progress) })
   659                               progress = build_log_database_progress) })
   663                       }
   660                       }
   664                     ))),
   661                     ))),